如何在不使用xml命名空间的情况下使用C#类读取xml属性 [英] how to read xml attribute using C# classes without using xml namespace
本文介绍了如何在不使用xml命名空间的情况下使用C#类读取xml属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以下是我的XML文件:
Below is My XML File :
<Visibilities>
<Visibilities AppName="Test2">
<Visibility DisplayName="Full Name">
<FullName>
<FirstName PropertyName="FullName.FirstName" DisplayName="First Name" ListOrder="3"></FirstName>
<MiddleName PropertyName="FullName.MiddleName" DisplayName="Middle Name" ListOrder="2"></MiddleName>
<LastName PropertyName="FullName.LastName" DisplayName="Last Name" ListOrder="1"></LastName>
</FullName>
</Visibility>
</Visibilities>
</Visibilities>
以下是我的课程
Below are my classes
#region FullName
[Serializable]
public class FullName
{
private String strFirstName;
[XmlElementAttribute("FirstName")]
public String FirstName
{
get { return strFirstName; }
set { strFirstName = value; }
}
private String strMiddleName;
[XmlElementAttribute("MiddleName")]
public String MiddleName
{
get { return strMiddleName; }
set { strMiddleName = value; }
}
private String strLastName;
[XmlElementAttribute("LastName")]
public String LastName
{
get { return strLastName; }
set { strLastName = value; }
}
[XmlElementAttribute("ListOrder")]
public int ListOrder { get; set; }
}
#endregion
#region Visibility
[Serializable]
public class Visibility
{
public FullName FullName { get; set; }
[XmlAttribute("DisplayName")]
public String DisplayName { get; set; }
}
#endregion
#region Visibilities
[Serializable]
public class Visibilities
{
[XmlAttribute("AppName")]
public String AppName { get; set; }
[XmlElement("Visibility")]
public List<Visibility> Visibility { get; set; }
}
#endregion
以下代码行是我的阅读方式:
Below Lines of codes is how I am reading :
foreach (Visibility vis in l.Visibility.ToList())
{
Console.WriteLine(vis.DisplayName);
Console.WriteLine("{0}{1}", vis.FullName.FirstName, Reflect.GetPropValue<String>(cust, vis.FullName.FirstName));
}
我必须做什么修改才能读取属性值第一,中间,姓氏?
What Modifications I have to do so that I can read Attribute values from First,Middle,Last Name?
推荐答案
请参阅我对该问题的评论。有一个更好的方法:数据合同: http://msdn.microsoft.com/en-us/ library / ms733127.aspx [ ^ ]。
请参阅我过去的回答,我提倡这种美妙,通用且易于使用的方法:
如何在表单应用程序中使用XML文件编写器和阅读器? [ ^ ],
创建属性文件...... [ ^ ]。
-SA
Please see my comments to the question. There is a much better approach: Data Contract: http://msdn.microsoft.com/en-us/library/ms733127.aspx[^].
Please see also my past answer where I advocate this wonderful, universal and easy to use approach:
How can I utilize XML File streamwriter and reader in my form application?[^],
Creating property files...[^].
—SA
这篇关于如何在不使用xml命名空间的情况下使用C#类读取xml属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文