我正在尝试遍历一些 XML 并将字符串的值设置为等于特定节点的内容。XML 看起来像:
<RootNode>
<SubNode>test<SubNode>
<SubNode><ExtraMarkup>some value</ExtraMarkup><SubNode>
</RootNode>
其中每个子节点可以包含一个值或其他 XML 子节点。对于第一个子节点,此代码可以正常工作:
for Node := 0 to RootNode.childNodes.length-1 do begin
AttrValue := RootNode.childNodes[Node].selectSingleNode('SubNode').Text;
// More code here...
end;
问题是当子节点包含子节点时。我希望 AttrValue 的值是 ' test
' 或 ' <ExtraMarkup>some value</ExtraMarkup>
' 作为字符串。
如果我得到 XML 属性而不是文本,则不会保留标记。