一次将所有 IXmlNode ChildNode 转换为字符串
Convert all IXmlNode ChildNodes into a string at once
我正在解析 XML,其中 IXMLNode
组件通过 ChildNodes,代码如 lChildNode := lCalendarNode.ChildNodes.FindNode(cNodeItemId)
,使用 NextSibling
等等。
我的 XML 中有一部分我想完整地存储在一个字符串中,例如对于
<RequiredAttendees>
<Attendee>
<Mailbox>
<EmailAddress>user1@localhost.com</EmailAddress>
</Mailbox>
</Attendee>
<Attendee>
<Mailbox>
<EmailAddress>user2@localhost.com</EmailAddress>
</Mailbox>
</Attendee>
</RequiredAttendees>
我想要 this 在字符串中(有或没有行 separators/spaces,我不在乎):
<Attendee><Mailbox><EmailAddress>user1@localhost.com</EmailAddress></Mailbox></Attendee><Attendee><Mailbox><EmailAddress>user2@localhost.com</EmailAddress></Mailbox></Attendee>
有没有一种方法可以做到这一点而不必解析所有底层节点?
它们的结构和深度可能会有所不同,即在这个例子中 <MailBox>
可以有不同的形式。
请注意,根本不涉及名称空间(现阶段也不涉及属性,但由于我的 XML 来自外部来源,我不能打赌它会一直如此)。
我(OP)完全忽略了 IXMLNode
XML 属性(感谢 LLama)
一旦我的 var lNode:IXMLNode
指向节点,lNode.XML
returns 从 <RequiredAttendees>
到 <\RequiredAttendees>
的字符串。从那里我可以轻松地剥离外部 XML 元素。
我正在解析 XML,其中 IXMLNode
组件通过 ChildNodes,代码如 lChildNode := lCalendarNode.ChildNodes.FindNode(cNodeItemId)
,使用 NextSibling
等等。
我的 XML 中有一部分我想完整地存储在一个字符串中,例如对于
<RequiredAttendees>
<Attendee>
<Mailbox>
<EmailAddress>user1@localhost.com</EmailAddress>
</Mailbox>
</Attendee>
<Attendee>
<Mailbox>
<EmailAddress>user2@localhost.com</EmailAddress>
</Mailbox>
</Attendee>
</RequiredAttendees>
我想要 this 在字符串中(有或没有行 separators/spaces,我不在乎):
<Attendee><Mailbox><EmailAddress>user1@localhost.com</EmailAddress></Mailbox></Attendee><Attendee><Mailbox><EmailAddress>user2@localhost.com</EmailAddress></Mailbox></Attendee>
有没有一种方法可以做到这一点而不必解析所有底层节点?
它们的结构和深度可能会有所不同,即在这个例子中 <MailBox>
可以有不同的形式。
请注意,根本不涉及名称空间(现阶段也不涉及属性,但由于我的 XML 来自外部来源,我不能打赌它会一直如此)。
我(OP)完全忽略了 IXMLNode
XML 属性(感谢 LLama)
一旦我的 var lNode:IXMLNode
指向节点,lNode.XML
returns 从 <RequiredAttendees>
到 <\RequiredAttendees>
的字符串。从那里我可以轻松地剥离外部 XML 元素。