<?xml version="1.0" encoding="utf-8"?><string xmlns="http://www.test.com/WebServicemob/">1</string>
<string xmlns="http://www.test.com/WebServicemob/">abc</string>
我只想提取出1 与 abc ,我现在用的方法是找到前面确定字符替换方式来取得的,但我想找一种更好方法,因为xml的<string xmlns="http://www.test.com/WebServicemob/">有时会变化。用替换这种强制方式就有可能无法取到。最后是通过> <之这间来取到值

解决方案 »

  1.   

    把xml写标准点..
    <?xml version="1.0" encoding="utf-8"?> 
    <strings>
    <string xmlns="http://www.test.com/WebServicemob/">1</string> 
    <string xmlns="http://www.test.com/WebServicemob/">abc</string> 
    </strings>
    取第一个节点的文本值是1, 第二个节点文本值是abc
      

  2.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>MyHtml.html</title>

        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="this is my page">
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        
        <!--<link rel="stylesheet" type="text/css" href="./styles.css">--><script type="text/javascript">
    var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
    xmldoc.async = false;
    xmldoc.load('MyXml.xml');
    var rootElement = xmldoc.documentElement;
    var strings = rootElement.getElementsByTagName('string');for(var i=0;i<strings.length;i++)
    alert(strings[i].childNodes[0].nodeValue);
    </script>  </head>
      
      <body>
        This is my HTML page. <br>
      </body>
    </html>
      

  3.   

    MyXml.xml
    ------------------------------
    <?xml version="1.0" encoding="utf-8"?>
    <body>
    <string xmlns="http://www.test.com/WebServicemob/">

    </string>
    <string xmlns="http://www.test.com/WebServicemob/">
    abc
    </string>
    </body>
      

  4.   

       alert(strings[i].childNodes[0].nodeValue);
    这里的childNodes[0]是不是有点问题. 要考虑空文本节点的话那就是
    childNodes[1].nodeValue.   看是不是这样, 如果是的话,就改过来.