写入 XML 时的变量 - 经典 ASP [副本]

Variable when writing XML - Classic ASP [duplicate]

提问人:Emma 提问时间:10/26/2023 最后编辑:Emma 更新时间:10/28/2023 访问量:78

问:

我有下面的代码,我将如何用变量替换下面中的“1”?

Set objorderline1 = objXML.createElement("OrderLine")

Set objorderline1att = objXML.createAttribute("xmlns")

objorderline1att.text = ""

objorderline1.setAttributeNode objorderline1att

objorder.appendChild objorderline1

例如 设置 objlinenumber(linenumber) = objXML.createElement(“LineNumber”)

objlinenumber(linenumber).text = linenumber

objorderline(linenumber).appendChild objlinenumber(linenumber)

Set objproduct(linenumber) = objXML.createElement("Product")

我希望能够遍历数据库中的产品表,并为 XML 中的每个产品创建单独的节点。

谢谢

VBScript ASP-经典

评论

1赞 user692942 10/26/2023
您是在谈论用变量替换对象名称中的 1 吗?如果是这样,请查看 ExecuteGlobal 语句,了解有关以字符串形式执行代码的详细信息。
0赞 Emma 10/26/2023
像这样的东西......Set Call ExecuteGlobal(“objorderline” & linenumner & “end sub”) = objXML.createElement(“OrderLine”)?
1赞 user692942 10/26/2023
我认为如果您编辑问题并解释为什么需要这样做以及原因是什么,那将会有所帮助。您似乎对 VBScript 不是很熟悉,因此建议您使用可能不是最好的主意,因为它是 VBScript 中更高级的概念,并且您需要首先了解一些基础知识。ExecuteGlobal
1赞 Geert Bellekens 10/26/2023
正如@user692942所建议的那样,我认为我们在这里处理的是一个xy问题。en.wikipedia.org/wiki/XY_problem解释为什么需要它可能会发现一个事实,即你实际上是在寻找一种定义和调用函数的方法。
2赞 miken32 10/27/2023
@Emma请不要将答案编辑到您的问题中。使用下面的答案框发布答案并将其标记为已接受。

答:

-1赞 Emma 10/27/2023 #1

生成字符串,然后将该变量添加到代码中按预期工作。相当直接,但这是解决方案。

s = "objorderline" & linenumber
t = "objorderlineatt" & linenumber
ln = "objlinenumber" & linenumber
pr = "objproduct" & linenumber


Set s = objXML.createElement("OrderLine")
    Set t = objXML.createAttribute("xmlns")
    t.text = ""
    s.setAttributeNode t
    objorder.appendChild s


    Set ln = objXML.createElement("LineNumber")
    ln.text = linenumber
    s.appendChild ln
    Set pr = objXML.createElement("Product")

评论

1赞 Geert Bellekens 10/27/2023
这是否意味着对你自己的问题的回答(这完全没问题)?在这种情况下,如果您在代码中添加一些解释以解释为什么它解决了您的问题,我将提供帮助。如果没有,您可以删除此内容并编辑您的问题以包含更多详细信息。
0赞 Emma 10/27/2023
我最初编辑了这个问题,上面有人说把它作为答案发布,似乎没有赢家。
1赞 Geert Bellekens 10/27/2023
如果它实际上是一个答案,那么这里就完全没问题了,但如果你解释这段代码是如何解决你的问题的,那就更好了。仅代码答案通常没有那么有用。