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">

c#中的XML阅读器和名称空间

reader.ReadElementString代替reader.Value解决问题