c#中的XML阅读器和名称空间
本文关键字:空间 中的 XML | 更新日期: 2023-09-27 18:01:48
我正在尝试使用xml阅读器读取xml数据,xml文件包括很多前缀,所以我在XmlNamespaceManager
中包含了名称空间,示例代码
using (XmlReader reader = new XmlTextReader(fileName))
{
XmlNamespaceManager nsmanager = new XmlNamespaceManager(reader.NameTable);
nsmanager.AddNamespace("s", "http://www.google.com/shopping/api/schemas/2010");
while (reader.Read())
{
switch (reader.Name)
{
case "s:name":
Console.WriteLine(reader.Name);
break;
case "s:condition":
Console.WriteLine(reader.Name);
break;
}
}
}
输出空行,这是包含命名空间的正确方式吗?
在vb.net中我导入的命名空间为
Imports <xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Imports <xmlns:msxsl="urn:schemas-microsoft-com:xslt">
Imports <xmlns:rh="ReportHub">
Imports <xmlns="http://www.w3.org/2005/Atom">
Imports <xmlns:gd="http://schemas.google.com/g/2005">
Imports <xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">
Imports <xmlns:s="http://www.google.com/shopping/api/schemas/2010">
用
reader.ReadElementString
代替reader.Value
解决问题