如题,最好能对应的用DataSet或者XmlDocument写一点简单的程序,解析和生成一个类似于下面我的xml文件格式:<?xml version="1.0"?>
<interface NAME="验证请求(输入模式)">
<PCODE>3300</PCODE>
<PNAME>非税代收</PNAME>
<COCODE>1000</COCODE>
<CONAME>验证请求(输入模式)</CONAME>
<DOWN>
<NODE>
<itemno>1</itemno>
<child/>
</NODE>
<NODE>
<itemno>2</itemno>
<child>
<itemno>3</itemno>
<child/>
</child>
</NODE>
</DOWN>
<UP>
<NODE>
<itemno>1</itemno>
<child/>
</NODE>
</UP>
</interface>
我省略了一部分没什么用的部分,另外,在节点中,可能有多层子节点,层数是未知的;解析的时候要取得每个节点的父节点的itemno,如果没有父节点则默认为空,否则返回父节点的itemno,因为我要建立treeview。 首先做解析吧,解析生成一个treeview,我对DateSet和XmlDocument类了解都比较少,不知道应该用哪个做处理,也缺乏类似的例子给我参考,先在这里谢谢各位能人。
<interface NAME="验证请求(输入模式)">
<PCODE>3300</PCODE>
<PNAME>非税代收</PNAME>
<COCODE>1000</COCODE>
<CONAME>验证请求(输入模式)</CONAME>
<DOWN>
<NODE>
<itemno>1</itemno>
<child/>
</NODE>
<NODE>
<itemno>2</itemno>
<child>
<itemno>3</itemno>
<child/>
</child>
</NODE>
</DOWN>
<UP>
<NODE>
<itemno>1</itemno>
<child/>
</NODE>
</UP>
</interface>
我省略了一部分没什么用的部分,另外,在节点中,可能有多层子节点,层数是未知的;解析的时候要取得每个节点的父节点的itemno,如果没有父节点则默认为空,否则返回父节点的itemno,因为我要建立treeview。 首先做解析吧,解析生成一个treeview,我对DateSet和XmlDocument类了解都比较少,不知道应该用哪个做处理,也缺乏类似的例子给我参考,先在这里谢谢各位能人。
<interface NAME="验证请求(输入模式)">
<PCODE>3300</PCODE>
<PNAME>非税代收</PNAME>
<COCODE>1000</COCODE>
<CONAME>验证请求(输入模式)</CONAME>
<DOWN>
<NODE>
<itemno>1</itemno>
<child/>
</NODE>
<NODE>
<itemno>2</itemno>
<child>
<itemno>3</itemno>
<child/>
</child>
</NODE>
</DOWN>
<UP>
<NODE>
<itemno>1</itemno>
<child/>
</NODE>
</UP>
</interface>
可以用 XPath 语法,搜一下 MSDN: XPath
Dim xml_document As DOMDocument
Dim child_node As IXMLDOMElement
set xml_document = new DOMDocument
xml_document.Load "xxx.xml" '载入xml
set child_node = xml_document.selectSingleNode("节点名") '查找节点
Private Sub Command1_Click()
Dim xmlDoc As New DOMDocument
Dim xmlRootElement As IXMLDOMElement
Dim xmlError As IXMLDOMParseError
Dim Success As Boolean
Dim strR As String
xmlDoc.async = False
xmlDoc.validateOnParse = True strPara = "http://192.168.0.1/YYYY/services/MMMwebservice?method=GetR&ConditionStr= admin"
Success = xmlDoc.Load(strPara)
If Success = True Then
Set xmlRootElement = xmlDoc.documentElement
strR = xmlRootElement.Text
Debug.Print strR
Else
MsgBox "读取失败!"
End If
Set xmlRootElement = Nothing
Set xmlError = xmlDoc.parseError
'……
Set xmlError = Nothing
End Sub
vb6中解析xml,引用microsoft xml, v6.0,如上面大家说的用DOMDocument对象...
可能是我没说清楚,我想解析的是能够判断node结点是否有子结点,这里的node结点可以是最下层的节点,也可以有下层node结点,这个我事先不知道,需要解析xml文件。我不知道的就是如何解析这些不确定是否有下层节点的元素,并能够建立父子节点的关系,就是得到当前节点的父节点的itemno信息
http://msdn.microsoft.com/en-us/library/ms256086.aspx
Dim xml_document As DOMDocument
Dim child_node As IXMLDOMElement
set xml_document = new DOMDocument
xml_document.Load "xxx.xml" '载入xml
set child_node = xml_document.selectSingleNode("NODE") '查找节点
这样子取得所有的node节点之后,我怎么在不知道node层次的情况下遍历这些节点呢?就是说我想知道一个节点是否有子结点,以及怎么移动到他的子节点或者移动到他的父节点。
parent、firstChild、nextSibling、previousSibling 这些属性直接望文生义的