我有这样的XML输入:如何获取Open XML DOM解析器来解析ntEntityRef节点?
<?xml version="1.0" encoding="utf-8"?>
<string>
<N/A>
</string>
下面是一个简短的代码示例来说明这个问题:
uses
xmldom, oxmldom, XMLDoc, XMLIntf;
procedure TForm1.Test;
var
Document : IXMLDocument;
StringNode : IXMLNode;
LessThanNode : IXMLNode;
begin
DefaultDOMVendor := 'Open XML';
Document := LoadXMLData(Memo1.Lines.Text);
StringNode := Document.DocumentElement;
LessThanNode := StringNode.ChildNodes.First;
ShowMessage(LessThanNode.Text); // Displays '' (an emtpy string)
ShowMessage(LessThanNode.XML); // Displays '<'
ShowMessage(StringNode.Text); // Causes an EXMLDocError, because the string node contains more than just a single node with NodeType = ntText
end;
我怎样才能获得Open XML
解析器改造<
,>
和类似XML实体到他们的真实文本(如<
和>
)?
我可以写一个解决方法XML规范的预定义的实体: http://www.w3.org/TR/2008/REC-xml-20081126/#sec-predefined-ent
这不会额外实体帮助,虽然节点...
相关:Why doesn't IXMLNode.IsTextElement return True for CDATA elements?
您是否尝试过使用OpenXML验证文档? – Pol
@Pol - 他为什么要这么做? –