weixin_33695450 2014-07-12 12:31 采纳率: 0%
浏览 40

为什么objProperties是个带有通配符的xpath?

在下面的代码中,为什么objProperties是个带有通配符的xpath?

function getXMLServerObject (httpType, cmd, isAsync) {
    var object = new Array();
    $.ajax({
      type: httpType,
      url: cmd,
      async: isAsync,
      dataType: "xml",
      success: function (xml) {
        var error = $(xml).find("Error");
        if (error == null) {
            object["__error"] = error.text();
            return object;
        }
        var objProperties = $(xml).find("Data\\Record\\*");

XML长度却为零:

...

<Data>
    <Record>
        <MailFrequency>30</MailFrequency>
        <Tracking>-1</Tracking>
    </Record>
</Data>

在单个节点上查找会返回正确的结果。

  • 写回答

2条回答 默认 最新

  • weixin_33749131 2014-07-12 12:41
    关注

    jQuery isn't designed to use XPath as it's selectors.

    Once you wrap xml in jQuery object, think of the tags the same way you would html tags and use exact same jQuery selector and methods approach

    Assuming you have multiple <Record> try:

    var $records = $(xml).find("Record");/* create collection of all Record tags */
    
    $records.each(function(){
      var $children=$(this).children();
       /* or to access specific elements*/
       var mailFreq= $(this).find('MailFrequency').text();
    })
    
    评论

报告相同问题?