【发布时间】:2012-10-15 20:24:49
【问题描述】:
我从 WebService 获得了一个 xml 文件
<MasterProducts> <MasterProduct> <Productcode>023DDC</Productcode> <Description>Dell CRT 17 Computer Monitor E771a</Description> <ThumbPic>NoImage.png</ThumbPic> <RRP>0.000000</RRP> <Stock>2</Stock> </MasterProduct> </MasterProducts>
我使用的 Chrome IDE 会自动将其转换为 JSON,我一直在尝试解析它但没有成功,因为我对 Javascript 还很陌生。
httpResponse 返回一个错误变量和一个保存 json 文件的数据变量。
if(error===false)
{
if(data !== '')
{
objData = data.getElementsByTagName('MasterProducts');
//returns a NodeList here
var items = objData[0].getElementsByTagName('MasterProduct')[0].getElementsByTagName('Description')[0].firstChild.data;
}
else
{
alert("No Data");
}
}
我只获取了节点列表,但我无法从标签中获取我需要的数据。
编辑: 使用在线转换器,我得到了下面的 JSON
{
"MasterProducts": {
"MasterProduct": {
"Productcode": "023DDC",
"Description": "Dell CRT 17 Computer Monitor E771a",
"ThumbPic": "NoImage.png",
"RRP": "0.000000",
"Stock": "2"
}
}
}
【问题讨论】:
-
您可以添加 JSON 或至少一个类似的示例吗?
-
使用 json 时不需要使用 getElementsByTagName。只需使用点符号直接访问数据,即... var items = data.MasterProducts.MasterProduct.whatever.whatever
-
当我有几组结果需要填充数组时会发生什么
标签: jquery xml json xml-parsing nodelist