【发布时间】:2015-02-20 00:05:39
【问题描述】:
我有一个 XML 文档,这是我要选择的节点:
最初我尝试使用其属性 ID 选择它,它工作正常:
<cfset local.XML = xmlParse(filePath)>
<cfset local.header = xmlSearch(
local.XML,
"/FILE/COLUMNS/HEADER[@ID = 1051]"
)>
我现在正在尝试选择这个 xml 节点,其 xmlText 为:
<cfset local.header = xmlSearch(
local.XML,
"/FILE/COLUMNS/HEADER[text() = '4079']"
)>
但我无法选择该节点及其文本。 我究竟做错了什么? 是否可以在单个语句中选择具有特定属性值和文本的节点? 这是示例 XML:
<?xml version="1.0" encoding="UTF-8"?>
<FILE>
<COLUMNS ID="1" xmlns="">
<HEADER ID="1134">
<![CDATA[11222]]>
</HEADER>
<HEADER ID="1135">
<![CDATA[Test Data]]>
</HEADER>
<HEADER ID="1136">
<![CDATA[Test Data]]>
</HEADER>
<HEADER ID="1151">
<![CDATA[4079]]>
</HEADER>
<HEADER ID="1137">
<![CDATA[Test Data]]>
</HEADER>
<HEADER ID="1144">
<![CDATA[Test Data]]>
</HEADER>
</COLUMNS>
<COLUMNS ID="2" xmlns="">
<HEADER ID="1134">
<![CDATA[11222]]>
</HEADER>
<HEADER ID="1135">
<![CDATA[Test Data]]>
</HEADER>
<HEADER ID="1136">
<![CDATA[Test Data]]>
</HEADER>
<HEADER ID="1151">
<![CDATA[4079]]>
</HEADER>
<HEADER ID="1137">
<![CDATA[4079]]>
</HEADER>
<HEADER ID="1144">
<![CDATA[4079]]>
</HEADER>
</COLUMNS>
</FILE>
现在我想用xmlText = 4079 选择所有HEADER 节点。
请帮忙。提前致谢。
【问题讨论】:
-
您能否提供示例 XML 以及您尝试解析的测试数据?
-
@abbottmw 我已经编辑了我的问题并添加了 XML 示例。
标签: xml coldfusion xml-parsing