在ColdFusion的XML DOM抽象中,有一个创建元素的函数,您可以通过属性设置元素的文本内容。但我无法看到如何创建这样的代码段:
<a>some<b>text</b>here</a>
我希望创建包含字符串的文本节点,但我不知道如何创建文本节点。这似乎并不是工厂的功能。这可能是使用纯ColdFusion,还是我需要使用Java?
答案 0 :(得分:1)
XML文档对象实际上使用文本节点,但不会在转储中显示它。试试这个:
a = xmlParse("<a>some<b>text</b>here</a>");
writeDump(a.xmlRoot.xmlNodes);
xmlNodes 数组已有详细记录:The XML document object
AFAIK无法在ColdFusion中创建新文本节点。但您始终可以在文档中找到现有文本节点,重复,替换 xmlValue 并将其插入任何 xmlNodes < / strong> array。
答案 1 :(得分:0)
您始终可以使用<cfsavecontent>
标记来完全控制XML结构。它允许你做这样的事情:
<cfset somevariable = "some dynamic value">
<cfsavecontent variable="myXML">
<cfoutput>
<?xml version='1.0' encoding='UTF-8'?>
<a>some<b>text</b>here</a>
<c>#somevariable#</c>
</cfoutput>
</cfsavecontent>
<cfdump var="#myXML#">
然后您的XML结构存储在myXML
变量中。
Documentation for the cfsavecontent tag
在cfscript
中,它看起来像这样:
<cfscript>
somevariable = "some dynamic value";
savecontent variable="myXML" { WriteOutput("<?xml version='1.0' encoding='UTF-8'?><a>some<b>text</b>here</a><c>#somevariable#</c>"); }
writeDump(myXML);
</cfscript>
答案 2 :(得分:0)