我需要在C#代码或XML文档中做什么,以便XDocument解析器读取Value
的{{1}} s的文字空格?
<小时/> 的背景
我有一个XML文档,其中一部分如下所示:
XElement
我正在使用LINQ查询将每个 <NewLineString> </NewLineString>
<IndentString> </IndentString>
的值添加到数据字典中; XELement
部分看起来像这样:
.ForEach
为了测试是否保留了空白值,我打印出数据字典中每个值项的字符编号行。在以下代码中, .ForEach(x => SchemaDictionary.Add(
LogicHelper.GetEnumValue(x.Name.ToString()), x.Value));
表示x
,而KeyValuePair
只是生成字符整数值的字符串:
Aggregate
我希望x.Value.ToCharArray()
.Aggregate<char,string>("",(word,c) => word + ((int)c).ToString() + " " )
));
值为10 13
,<NewLineString>
值为32 32 32 32
。但是,没有为每个值打印任何内容(注意:XML中的其他转义值,例如<IndentString>
正确打印了其字符数)。
我需要在C#代码或XML文档中做什么才能让我的解析器将完整的空白字符串添加到数据字典中?
答案 0 :(得分:8)
答案 1 :(得分:1)
尝试以这种方式加载文档。
XmlDocument doc = new XmlDocument();
doc.PreserveWhitespace = true;
doc.Load("book.xml");
答案 2 :(得分:-3)
或只是将您的输入xml修改为:
<NewLineString> </NewLineString>
<IndentString xml:space="preserve"> </IndentString>