2

我有一个 xml 字符串

<grandparent>
   <parent>
       <child>dave</child>
       <child>laurie</child>
       <child>gabrielle</child>
   </parent>
</grandparrent>

我想要得到的是父级内部的数据原始 xml。我正在使用 MSXML

iXMLElm->get_xml(&bStr);

正在返回

<parent>
   <child>dave</child>
   <child>laurie</child>
   <child>gabrielle</child>
</parent>

.

iXMLElm->get_text(&bStr);

返回 davelauriegabrielle

如果我想获得,我应该使用什么功能?

<child>dave</child>
   <child>laurie</child>
   <child>gabrielle</child>

有人知道关于这些功能的一些好的文档吗?我所看到的一切都是一个相关的噩梦。

4

3 回答 3

1

迭代子节点并手动构建字符串。

于 2008-12-11T15:19:34.183 回答
0

如果您使用的是 MSXML,这应该是获取祖父节点的子节点的情况。

所以,如果iXMLElm是祖父母并且它只有一个子节点,你可以使用...

 iXMLElm->get_firstChild(&iXMLChildElm)

...接着...

 iXMLChildElm->get_xml(&bStr)

...获得三个child元素。

如果下面有多个项目,则grandparent可以selectSingleNode改用 XPath 来选择具有所需内部 XML 的节点。

MSDN 文档在可用的接口和调用上是相当合理的。

于 2008-12-11T21:59:24.203 回答
-1

如果您使用的是 IXMLDOMElement,那么

HRESULT getAttribute(
    BSTR name,
    VARIANT *value);

是方法,其中“名称”是属性名称,“值”是输出参数,它将包含字符串格式的属性值。

于 2011-06-07T06:09:07.663 回答