如何使用c#从xml文件中删除#text

时间:2016-10-07 05:40:32

标签: c# xml xml-parsing

我正在尝试阅读xml文件,在阅读时我将#text作为值。我删除了所有空格,然后#text继续出现。解决方案是什么?

这是我原来的xml文件

SELECT id, 
                CAST(0 as int) ChildID, 
                NAME 
         FROM   kuaf 
         WHERE  id = 1000

删除空格后,这是我的新xml文件

<book genre='novel' ISBN='1-861003-78' misc='sale-item'>
  <title>The Handmaid's Tale</title>
  <price>14.95</price>
</book>

我正在尝试验证两个xml文件,这是代码

<!--sample XML fragment--><book genre='novel' ISBN='1-861003-78' misc='sale-item'><title>The Handmaid's Tale</title><price>14.95</price></book>

因此,在打印时我得到#text

1 个答案:

答案 0 :(得分:0)

#text节点是旧XML文件的解析器返回的空格 - <title><price>节点之前的缩进。

故障是您加载旧XML文件的方式。它将空格解析为XML节点。

您的XML解析方式会将这两个XML文件视为相同的文件:

<book genre='novel' ISBN='1-861003-78' misc='sale-item'>
  <title>The Handmaid's Tale</title>
  <price>14.95</price>
</book>

<book genre='novel' ISBN='1-861003-78' misc='sale-item'>
someUnformatedText<title>The Handmaid's Tale</title>
someUnformatedText<price>14.95</price>
</book>

这是XmlNode.Name

的文档
  

节点的限定名称。返回的名称取决于   节点的NodeType:

     

文字 - &gt; #text