我用text新建xml文件如下
<?xml version="1.0" encoding="utf-8"?>
<options>
    <columns>
      <column index="1">
          <dims>
              <dim index="1" type="1" />
                <dim index="2" type="1" />
            </dims>
        </column>
    </columns>
    
  <issum>true</issum>
  <istotalsum>true</istotalsum>
  <sumfirst>true</sumfirst>
  <totalsumfirst>true</totalsumfirst>
</options>用XmlDocument类读取时  认为dims下的子节点有3个节点
第一个是(DimsNode).FirstChild {Text, Value="\r\n             "}
后面两个是dim  而我想要的就是只有两个dim
而我再用vs2010新建一个同样的xml却是正常的
但是,程序的用户很可能是用记事本编辑xml文件的
我想知道  如何才能解决这样的问题呢?
XMLXmlDocum记事本Visual Studio 2010标准

解决方案 »

  1.   

    “我想知道  如何才能解决这样的问题呢?”
    ——————
    一般不要用ChildNodes,应该用Xpath表达式查询节点。
      

  2.   

    但是ChildNodes.Count 的个数和一些数据有关  不同的个数表示不同的含义啊  我需要知道个数  但是多了一个
      

  3.   

    可以使用Linq to xml来解决。可以参考下面的两篇文章来实现:
    http://www.cnblogs.com/jfzhu/archive/2012/11/20/2779563.html
    http://developer.51cto.com/art/201107/277904.htm
      

  4.   

    你好,首先谢谢您。不过我还是没看懂。
    我觉得,要是能删除xml文件里节点外的空白处就好了。因为用户是用空白来对齐的,所有会出现\n\r这些字符影响了程序对xml的使用。
    但是不知道如何才能删除节点外的空白,setting里的ignorewhitespace也只是过滤了空格而已。
      

  5.   

    好像还是不行,我用string.replce
    过滤了\n   \r   \t
    还是没用
    FirstChild = {Text, Value="              "}
    依然存在一个这样的   只是值变成了“         ”
      

  6.   


    那这样的话和操作XML无关的,你可以调用File.ReadLine().Trim()来删除空白行,你可以试试