我用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标准
<?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标准
——————
一般不要用ChildNodes,应该用Xpath表达式查询节点。
http://www.cnblogs.com/jfzhu/archive/2012/11/20/2779563.html
http://developer.51cto.com/art/201107/277904.htm
我觉得,要是能删除xml文件里节点外的空白处就好了。因为用户是用空白来对齐的,所有会出现\n\r这些字符影响了程序对xml的使用。
但是不知道如何才能删除节点外的空白,setting里的ignorewhitespace也只是过滤了空格而已。
过滤了\n \r \t
还是没用
FirstChild = {Text, Value=" "}
依然存在一个这样的 只是值变成了“ ”
那这样的话和操作XML无关的,你可以调用File.ReadLine().Trim()来删除空白行,你可以试试