您的位置:首页 > 编程语言 > C#

c# 读取带有命名空间的XML

2014-01-01 19:12 459 查看
1.xml的内容
<?xml version="1.0" encoding="utf-8" ?>
<DataTable>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="file" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="file">
<xs:complexType>
<xs:sequence>
<xs:element name="Id" type="xs:int" minOccurs="0" />
<xs:element name="FolderId" type="xs:int" minOccurs="0" />
<xs:element name="Name" type="xs:string" minOccurs="0" />
<xs:element name="ExtName" type="xs:string" minOccurs="0" />
<xs:element name="Size" type="xs:long" minOccurs="0" />
<xs:element name="RelateId" type="xs:string" minOccurs="0" />
<xs:element name="Code" type="xs:string" minOccurs="0" />
<xs:element name="Version" type="xs:string" minOccurs="0" />
<xs:element name="CreateTime" type="xs:dateTime" minOccurs="0" />
<xs:element name="IsDeleted" type="xs:boolean" minOccurs="0" />
<xs:element name="DeleteTime" type="xs:dateTime" minOccurs="0" />
<xs:element name="DeleteReason" type="xs:string" minOccurs="0" />
<xs:element name="Src" type="xs:string" minOccurs="0" />
<xs:element name="OnSrc" type="xs:boolean" minOccurs="0" />
<xs:element name="OnMaster" type="xs:boolean" minOccurs="0" />
<xs:element name="ServerName" type="xs:string" minOccurs="0" />
<xs:element name="FileLocation" type="xs:string" minOccurs="0" />
<xs:element name="Guid" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
</DataTable>


XmlDocument xml = new XmlDocument();
xml.Load("1.xml");
XmlNamespaceManager xnm = new XmlNamespaceManager(xml.NameTable);
xnm.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
string xpath = "//xs:sequence/xs:element";
XmlNodeList nodes = xml.SelectNodes(xpath, xnm);
foreach (XmlNode item in nodes)
{
string title = item.Attributes["name"].InnerText;
string type = item.Attributes["type"].InnerText;
listBox1.Items.Add(title + " " + type);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: