coldfusion / xml - 通过xmlName获取值,而不是通过xmlchildren数组位置获取

时间:2012-05-15 00:49:10

标签: xml coldfusion

给出以下XML“thisXML”:

enter image description here

我可以通过

获取产品名称
<cfset vProduct = thisXML.xmlchildren[1].xmltext>

但是,如何通过xmlName获取值,而不是通过xmlChildren数组位置,即伪代码:

<cfset vProduct = thisXML.xmlchildren[xmlName='product'].xmltext>

1 个答案:

答案 0 :(得分:3)

你应该可以使用thisXML.Product来实现它 - 它对我有用。

- xmltest.xml

<table1>
    <product>KiaOra</product>
    <SubscriberCode>2232481600</SubscriberCode>
</table1>

- xmltest.cfm

<cfscript>
    // this is setup stuff
    f = FileRead(expandPath("xmltest.xml"));
    x = XmlParse(f);
    xDetail = XmlSearch(x,"/table1")[1]; // this gets the exact result your cfdump image has

    // here is the important part
    writeOutput(xDetail.product.xmlText);
</cfscript>

- 输出

KiaOra

您必须意识到,即使您的XML在详细信息视图中打印出来,它仍然可以像标准cfdump视图中的XML一样工作。