小编bab*_*ayi的帖子

为什么 XmlReader 会跳过元素?

请注意,此问题特定于XmlReader而不是是否使用XDocumentXmlReader

我有一个XML片段:

private string GetXmlFragment()
{
    return @"<bookstore>
          <book genre='novel' ISBN='10-861003-324'>
            <title>The Handmaid's Tale</title>
            <price>19.95</price>
          </book>
          <book genre='novel' ISBN='1-861001-57-5'>
            <title>Pride And Prejudice</title>
            <price>24.95</price>
          </book>
        </bookstore>";
}
Run Code Online (Sandbox Code Playgroud)

我还有一个扩展方法:

public static IEnumerable<XElement> GetElement(this XmlReader reader, string elementName)
{
    reader.MoveToElement();

    while (reader.Read())
    {
        if (reader.NodeType == XmlNodeType.Element 
            && reader.Name.Equals(elementName, StringComparison.InvariantCulture))
        {
            yield return XNode.ReadFrom(reader) as XElement;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我尝试通过执行以下操作来获取这两个book元素:

var xmlReaderSettings = new XmlReaderSettings
{
    CheckCharacters = false,
    ConformanceLevel = ConformanceLevel.Fragment,
    IgnoreComments …
Run Code Online (Sandbox Code Playgroud)

.net c# xmlreader

6
推荐指数
1
解决办法
2442
查看次数

标签 统计

.net ×1

c# ×1

xmlreader ×1