经典ASP中的XML Vbscript
我回到了使用XML处理的asp。 初始文件:经典ASP中的XML Vbscript
<?xml version="1.0" ?>
<root>
<sport/>
</root>
这是我的功能
Public Function DefinitFunction(x,z)
Dim text
Dim Root
Dim NodeList
text = "<Definition>" ---<x> </x> <z> </z> --</Definition> "
text = text & "<x><![CDATA["&x&"]]> </x>"
text = text & "<z> </z>"
text = text & "</Definition>"
Set Root = objDoc.documentElement
Set NodeList = Root.getElementsByTagName("sport")
NodeList.appendChild text
objDoc.Save strFile
end function
' Private strFile, objDoc are class object
我要动态地修改所有的事情。所以我有一个函数: DefinitFunction(x,z)
将将字符串和节点<sport>
在结束后立即追加在我的文件<Definition> ---<x> </x> <z> </z> --</Definition>
这应该是我的结果:
<?xml version="1.0" ?>
<root>
<sport>
<Definition>
---<x> </x> <z> </z> --
</Definition>
</sport>
</root>
这是行不通的。有没有更好的方法来完成这个?
您不能直接添加文本..你需要将其转换为XML节点首先..
Set newXML = CreateObject("Microsoft.XMLDOM")
newXML.async = False
newXML.loadXML("<root>" & text & "</root>")
NodeList.appendChild(newXML.documentElement.selectSingleNode("/Definition"))
Nope 错误类型: Microsoft VBScript运行时(0x800A01B6) 对象不支持此属性或方法:'NodeList.appendChild' – FasoService 2010-02-13 21:12:09
不使用'Root.getElementsByTagName(“sport”)'去运动..使用'Root.selectSingleNode( “体育”)'。第一个返回一个节点列表(*,你不能直接附加*)第二个返回节点(*,它支持appendChild .. *) – 2010-02-14 02:10:42
这是一个plus.thanks。然而其追加运动节点
它不是完全从您的代码示例清楚,但您使用的是MSXML对象或其他什么东西? – AnonJr 2010-02-13 20:24:18