解析XML Schema 文件

xjpcn 2010-09-03 03:41:21
急求 解析XML Schema 文件的办法文件如下:
<?xml version="1.0" encoding="utf-8"?>
<DataSet xmlns="http://211.147.7.74/PlyNewWorkInterFace/WebInteface/PlyIntefaceService.asmx">
<xs:schema id="NewDataSet" xmlns="" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table">
<xs:complexType>
<xs:sequence>
<xs:element name="a1" type="xs:long" minOccurs="0" />
<xs:element name="a2" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
</DataSet >
...全文
86 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjpcn 2010-09-03
  • 打赏
  • 举报
回复
谢谢了,朋友
孟子E章 2010-09-03
  • 打赏
  • 举报
回复
XmlDocument d = new XmlDocument();
d.Load(Server.MapPath("~/A.xml"));
XmlNamespaceManager m = new XmlNamespaceManager(d.NameTable);
m.AddNamespace("A", "http://211.147.7.74/PlyNewWorkInterFace/WebInteface/PlyIntefaceService.asmx");
m.AddNamespace("xs", "xxx");
m.AddNamespace("msdata", "urn:schemas-microsoft-com:xml-msdata");
XmlNodeList ns = d.SelectNodes("/A:DataSet/xs:schema/xs:element",m);
foreach (XmlNode n in ns)
{
Response.Write("<li>"+n.Attributes["name"].Value);
Response.Write("<li>" + n.Attributes["msdata:IsDataSet"].Value);
}


不过你的xml不是很标准

<?xml version="1.0" encoding="utf-8"?>
<DataSet xmlns="http://211.147.7.74/PlyNewWorkInterFace/WebInteface/PlyIntefaceService.asmx">
<xs:schema id="NewDataSet" xmlns:xs="xxx" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table">
<xs:complexType>
<xs:sequence>
<xs:element name="a1" type="xs:long" minOccurs="0" />
<xs:element name="a2" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
</DataSet>
孟子E章 2010-09-03
  • 打赏
  • 举报
回复
使用XmlNamespaceManager 就可以了

XmlNamespaceManager nsmanager = new XmlNamespaceManager(reader.NameTable);
nsmanager.AddNamespace("A", "http://211.147.7.74/PlyNewWorkInterFace/WebInteface/PlyIntefaceService.asmx");

XmlNodeList nodes = doc.SelectNodes("/A:DataSet/xxxxx",nsmanager )

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧