我从jsp调用返回了以下xml
<assumption name="test" id="34" description="vector description" is_shared="no" vector_type="Prepay">
<userVector>
<vectorType>"Prepay"</vectorType>
<ppydefTypeCode>"CDR"</ppydefTypeCode>
<ppydefVector>
<vectorName>"test"</vectorName>
<vectorSeasoning>No</vectorSeasoning>
<vectorPeriod>"6 12"</vectorPeriod>
<vectorData>"7 4"</vectorData>
</ppydefVector>
</userVector>
</assumption>
使用php检索vectorType信息和vectorName的最佳方法是什么。
我尝试过类似的东西,但不知道如何在php中获取节点值
foreach ($xmlDoc->getElementsByTagName('userVector') as $vectorRow)
{
$vectorType = $xmlDoc->getElementsByTagName('vectorType');
}
答案 0 :(得分:0)
getElementsByTagName('vectorType')
将返回DOMNodeList
,您还需要进行迭代。您可以通过访问nodeValue
字段将每个元素的值保存到变量中。
foreach ($xmlDoc->getElementsByTagName('userVector') as $vectorRow){
$vectorTypes = $vectorRow->getElementsByTagName('vectorType');
foreach ($vectorTypes as $vectorTypeElement){
$vectorType = $vectorTypeElement->nodeValue;
}
}
答案 1 :(得分:0)
试试这个:
$sx = new SimpleXMLElement($XMLData);
echo $sx->xpath('/assumption/userVector/vectorType')[0];
echo $sx->xpath('/assumption/userVector/ppydefVector/vectorName')[0];
输出:
"Prepay"
"test"