这是我在这里的第一个问题,我对 Web 开发世界还很陌生。我有一个简单的问题,所以我不想用我的所有代码惹恼你,我会给你一个更简单的例子:
我有一个看起来像这样的 XML,我们称之为“example.xml”:
<a>
<b>1</b>
<a>
<b>2</b>
<c>3</c>
</a>
</a>
因此,存在包含或不包含“c”元素的多级“a”。当我使用解析这个 xml 时
$.ajax({type: "GET",async: false, cache: false, url: "example.xml",dataType: "xml",success: parseXml, error: function(xhr, status, error) {alert(error)}});
parseXml 会这样:
function parseXml(xml){
var result = new Object()
$(xml).find('a').each(function(){
result.b = $(this).find('b:first').text()
result.c = $(this).find('c:first').text()
}
}
所以我的问题是这个JQuery会在第一级'a'中找到一个'c',即使没有。我认为它在第二个“a”中搜索以找到一个“c”。这就是为什么我需要在 find() 函数中添加“:first:”,这样它就不会返回第二个 'b'...我认为这不是最好的方法,因为如果 'b'在第二级'a'之后宣布,我会得到第二级'b'......我不知道你是否在关注,但这是我的问题:
- 那是提议者 XML 文件吗?
- 如果不是,假设我无法更改它,我怎样才能获得一个不会从第二级获取其信息的适当 XML 解析器?
非常感谢您的帮助!