XML:如何通过使用VBScript连接来自同一节点的属性值和来自父节点的属性值来更改属性名称值?

时间:2015-02-09 11:56:12

标签: xml vbscript

我有一些像这样的xml代码:

<datasource caption='CAPTION_NAME' inline='true' name='xxx'>
  <connection authentication='def' class='abc' schema='SCHEMA' server-oauth='' workgroup-auth-mode='prompt'>
    <relation name='CAPTION_NAME' table='[SCHEMA].[CAPTION_NAME]' type='table' />

我想更改属性名称的值&#34; table&#34;在节点&#34;关系&#34;使用VBScript。应使用&#34; name&#34;的属性值更改此值。在&#34;关系&#34; &#34; schema&#34;的节点和属性值in&#34; connection&#34;节点。

有人可以帮助我吗?我尝试使用setAttribute或document.write但它确实运行良好。

TNX IN ADVANCE!

1 个答案:

答案 0 :(得分:0)

请查看

SXml="C:\Test.xml"
Set ObjInputXml = CreateObject("Microsoft.XMLDOM")
ObjInputXml.Async  =False
ObjInputXml.setProperty "SelectionLanguage","XPath"
bln=ObjInputXml.load(SXml)
strSchema=ObjInputXml.SelectSingleNode("//connection/@schema").text
strName= ObjInputXml.SelectSingleNode("//connection[contains(@schema,'"&Schema&"')]/relation/@name").text
ObjInputXml.SelectSingleNode("//connection[contains(@schema,'"&Schema&"')]/relation/@table").text="["&strSchema&"]"&".["&strName&"]"
ObjInputXml.Save "C:\Test1.xml"