VB 读取XML文件

XML内容如下-<xml>-<transactions>-<transactiondate="1406881220"type="wf_export_document_at... XML内容如下

- <xml>

- <transactions>

- <transaction date="1406881220" type="wf_export_document_attributes" vaultname="KXTESTPDM">

- <document aliasset="" pdmweid="13482">

- <configuration name="默认<按焊接>" quantity="1">

<attribute name="图号" value="shiyan111" />

<attribute name="材料" value="45" />

<attribute name="代号" value="" />

<attribute name="总重" value="" />

<attribute name="注释" value="" />

<attribute name="名称" value="实验" />

<attribute name="重量" value="" />

<attribute name="名称" value="零件1.SLDPRT" />

<attribute name="状态" value="审批通过" />

<attribute name="参考引用记数" value="1.0" />

<attribute name="配置" value="默认<按焊接>" />

<attribute name="零件号" value="零件1" />

</configuration>

- <configuration name="默认<按加工>" quantity="1">

<attribute name="图号" value="shiyan111" />

<attribute name="材料" value="45" />

<attribute name="代号" value="" />

<attribute name="总重" value="" />

<attribute name="注释" value="" />

<attribute name="名称" value="实验" />

<attribute name="重量" value="" />

<attribute name="名称" value="零件1.SLDPRT" />

<attribute name="状态" value="审批通过" />

<attribute name="参考引用记数" value="1.0" />

<attribute name="配置" value="默认<按加工>" />

<attribute name="零件号" value="零件1" />

</configuration>

</document>

</transaction>

</transactions>

</xml>
展开
 我来答
szqaly
推荐于2017-12-15 · TA获得超过1745个赞
知道大有可为答主
回答量:2107
采纳率:77%
帮助的人:1534万
展开全部

xml文本中属性值包含<>号没法读取,- 号可能也不行,符件里的文本修改了下。

你可以引用Microsoft XML, v6.0库,有几个版本,用new来建立xmlDocument对象,这可以获得点提示帮助。

下面代码把各个标签的属性值输出到立即窗口:

Private Sub Command1_Click()
    Dim xmldoc
    Set xmldoc = CreateObject("msxml2.domdocument")
    xmldoc.async = False
    xmldoc.Load "c:\xml.xml" '读取文件
    Dim transactionTag As Object '获取transaction标签
    Set transactionTag = xmldoc.Getelementsbytagname("transaction")(0)

    Debug.Print transactionTag.Attributes.getNamedItem("type").Text, transactionTag.Attributes.getNamedItem("vaultname").Text

    Dim documentTag As Object '获取document标签
    Set documentTag = transactionTag.childnodes(0)
    Debug.Print , documentTag.Attributes.getNamedItem("aliasset").Text, documentTag.Attributes.getNamedItem("pdmweid").Text

    Dim configurationTag As Object
    Dim attributeTag As Object
    Dim Attributes   As Object
    For Each configurationTag In documentTag.childnodes '遍历configuration标签
        Debug.Print , , configurationTag.Attributes.getNamedItem("name").Text, configurationTag.Attributes.getNamedItem("quantity").Text
        For Each attributeTag In configurationTag.childnodes '遍历attribute标签
            Set Attributes = attributeTag.Attributes
            Debug.Print , , , Attributes.getNamedItem("name").Text, Attributes.getNamedItem("value").Text
        Next
    Next
End Sub

往事以成新Bsb03
2014-08-14 · 超过58用户采纳过TA的回答
知道答主
回答量:124
采纳率:50%
帮助的人:59.3万
展开全部
Private Sub Command1_Click()
Dim xDoc As Object
Dim xmlFile As String
Dim strWidth As String
Dim strHeight As String
Set xDoc = CreateObject("MSXML2.DOMDocument")
xmlFile = "C:\aa.xml"
xDoc.Load xmlFile
strWidth = xDoc.selectSingleNode("overlays").selectSingleNode("Info").Attributes(2).Text
strHeight = xDoc.selectSingleNode("overlays").selectSingleNode("Info").Attributes(3).Text
MsgBox ("Width=" & strWidth & " Height=" & strHeight)
xDoc.selectSingleNode("overlays").selectSingleNode("Info").Attributes(2).Text = "123"
xDoc.selectSingleNode("overlays").selectSingleNode("Info").Attributes(3).Text = "456"
xDoc.save (xmlFile)
End Sub

注意 你上面的XML中Width="840"Height="630" 要分开,改成:
Width="840" Height="630"
满意请采纳。
追问
可不可以不要copy的这么……可不可以看清XML再回答啊,你这个我都看过多少次了,虽说我是菜鸟没错,当也不至于……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千锋教育
2018-07-27 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
解决思路:用java来读取xml内容,遇到<city_id>1</city_id>这个标签就保存到map中,然后把map的值跟option做一下映射就可以了。
具体读取xml的代码网上一大堆,最后遇到问题再来找我吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式