2

次のコードがあります

var textReader = new StringReader("<root>    </root>");
var settings = new XmlReaderSettings();
settings.IgnoreWhitespace = false;
var reader = XmlReader.Create(textReader, settings);
var doc = new XPathDocument(reader);
var nav = doc.CreateNavigator();
var ws = nav.SelectSingleNode("/root/text()");

ルート ノードの空白に注意してください。

ws無効です。何故ですか?

不要な空白ノードがクエリの結果に忍び寄る例は見つかりましたが、その逆は見つかりませんでした。

ありがとう

編集:私のxmlが

<root xml:space="preserve">    </root>

クエリは正常に機能します。ただし、この場合、ノードは Whitespace ではなく SignificantWhitespace 型です。

4

1 に答える 1