你的xml中有#,我这边解析不出,故给删了<html> 
<body> 
<SCRIPT>
function fnCheck(){
var doc=oMetaData.XMLDocument;
var ARCXML_item=doc.getElementsByTagName("ARCXML")[0];
var RESPONSE_item=ARCXML_item.getElementsByTagName("RESPONSE")[0];
var FEATURES_item=RESPONSE_item.getElementsByTagName("FEATURES")[0];
var MULTIPOINT_item=FEATURES_item.getElementsByTagName("MULTIPOINT")[0];var FIELDS_item=MULTIPOINT_item.getElementsByTagName("FIELDS")[0];
var POINT_item=MULTIPOINT_item.getElementsByTagName("POINT")[0];document.getElementById("show").value="<a onclick=\"test('"+POINT_item.getAttribute("x")+"','"+POINT_item.getAttribute("y")+"')\">"+FIELDS_item.getAttribute("OBJPOS")+" </a> ";}
</SCRIPT>
<XML ID="oMetaData">
<ARCXML> 
<RESPONSE> 
<FEATURES> 
<FEATURE> 
<FIELDS ID="6" OBJCODE="5101050101020022" OBJNAME="abcd" DEPTCODE="51010042" DEPTNAME="efgh" MATERIAL="" GBCODE="51010500300101" OBJPOS="keywords" OBJSTATE="ok" USESTATE="on" CRDATE="1146009600000" CHDATE="-2211753600000" MAPSCALE="500" MEMO=""  /> 
<MULTIPOINT> 
<FIELDS ID="6" OBJCODE="5101050101020022" OBJNAME="abcd" DEPTCODE="51010042" DEPTNAME="efgh" MATERIAL="" GBCODE="51010500300101" OBJPOS="keywords" OBJSTATE="ok" USESTATE="on" CRDATE="1146009600000" CHDATE="-2211753600000" MAPSCALE="500" MEMO="" />  <POINT x="104.060846680346" y="30.6786616511078"/> 
</MULTIPOINT> 
</FEATURE> 
<FEATURECOUNT count="5" hasmore="true" /> 
</FEATURES> 
</RESPONSE> 
</ARCXML> </XML><INPUT TYPE=button VALUE="Test" onclick="fnCheck()">
<textarea cols="40" rows="4" id="show"></textarea>
</body> 
</html> 

解决方案 »

  1.   

    <?xml version="1.0" encoding="gb2312"?>
    <ARCXML version="1.1">
    <RESPONSE>
    <FEATURES>
    <FEATURE>
    <FIELDS ID="6" OBJCODE="5101050101020022" OBJNAME="abcd" DEPTCODE="51010042" DEPTNAME="efgh" MATERIAL="" GBCODE="51010500300101" OBJPOS="keywords" OBJSTATE="ok" USESTATE="on" CRDATE="1146009600000" CHDATE="-2211753600000" MAPSCALE="500" MEMO=""  SHAPE="[Geometry]" />
    <MULTIPOINT>
    <POINT x="104.060846680346" y="30.6786616511078"/>
    </MULTIPOINT>
    </FEATURE>
    <FEATURECOUNT count="5" hasmore="true" />
    </FEATURES>
    </RESPONSE>
    </ARCXML>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Untitled Page</title>
    </head>
    <body>
        <input type="button" value="text XML" onclick="testXML()" />
    </body>
    </html><script type="text/javascript">
    function getXMLdoc()
    {
        var xmlDoc=null;
        if (window.ActiveXObject)
            xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        else 
            xmlDoc=document.implementation.createDocument("","",null);    xmlDoc.async=false;
        return xmlDoc;
    }
    function testXML()
    {
        var xmlFile="XMLFile1.xml";//这是服务器端的路径,与此html文件放在同一目录下
        var xmldoc=getXMLdoc();
        xmldoc.load(xmlFile);    var FIELDS=xmldoc.getElementsByTagName('FIELDS')[0].getAttribute('OBJPOS');
        var p=xmldoc.getElementsByTagName('POINT')[0];
        var x=p.getAttribute('x');
        var y=p.getAttribute('y');
        
        var linka=document.createElement("a");
        linka.style.cursor='pointer';
        linka.innerHTML=FIELDS;
        linka.onclick=function(){test(x,y);}
        document.body.appendChild(linka);
    }function test(x,y)
    {
    alert("x="+x+"\r\ny="+y);
    }
    </script>
      

  2.   

    刚才文档有问题.
    这是页面加载XML ,若要用ajax ,将oMetaData.XMLDocument换一下responseXML就可以了<html> 
    <body> 
    <SCRIPT>
    function fnCheck(){
    var doc=oMetaData.XMLDocument;
    var ARCXML_item=doc.getElementsByTagName("ARCXML")[0];
    var RESPONSE_item=ARCXML_item.getElementsByTagName("RESPONSE")[0];
    var FEATURES_item=RESPONSE_item.getElementsByTagName("FEATURES")[0];
    var FEATURE_item=FEATURES_item.getElementsByTagName("FEATURE")[0];
    var MULTIPOINT_item=FEATURE_item.getElementsByTagName("MULTIPOINT")[0];var FIELDS_item=FEATURE_item.getElementsByTagName("FIELDS")[0];
    var POINT_item=MULTIPOINT_item.getElementsByTagName("POINT")[0];document.getElementById("show").value="<a onclick=\"test('"+POINT_item.getAttribute("x")+"','"+POINT_item.getAttribute("y")+"')\">"+FIELDS_item.getAttribute("OBJPOS")+" </a> ";}
    </SCRIPT>
    <XML ID="oMetaData">
    <ARCXML version="1.1"> 
    <RESPONSE> 
    <FEATURES> 
    <FEATURE> 
    <FIELDS ID="6" OBJCODE="5101050101020022" OBJNAME="abcd" DEPTCODE="51010042" DEPTNAME="efgh" MATERIAL="" GBCODE="51010500300101" OBJPOS="keywords" OBJSTATE="ok" USESTATE="on" CRDATE="1146009600000" CHDATE="-2211753600000" MAPSCALE="500" MEMO="" /> 
    <MULTIPOINT> 
    <POINT x="104.060846680346" y="30.6786616511078"/> 
    </MULTIPOINT> 
    </FEATURE> 
    <FEATURECOUNT count="5" hasmore="true" /> 
    </FEATURES> 
    </RESPONSE> 
    </ARCXML> 
    </XML><INPUT TYPE=button VALUE="Test" onclick="fnCheck()">
    <textarea cols="40" rows="4" id="show"></textarea>
    </body> 
    </html> 
      

  3.   

    另外,lz的xml有问题:带有特殊符合#(我已处理掉,可看我的源码)
    <FIELDS ID="6" OBJCODE="5101050101020022" OBJNAME="abcd" DEPTCODE="51010042" DEPTNAME="efgh" MATERIAL="" GBCODE="51010500300101" OBJPOS="keywords" OBJSTATE="ok" USESTATE="on" CRDATE="1146009600000" CHDATE="-2211753600000" MAPSCALE="500" MEMO=""  #SHAPE#="[Geometry]" #ID#="6" /> 
      

  4.   

    【个人意见,仅供参考】
    1.把xml保存成一个文件如a.xml,
    2.修改里面的错误,去掉井号,还有FIELDS ID="6"的ID重复了,去掉。
    3.写一个b.htm,内容如下:<script language="javascript">
    function loadXML(xml){
       var doc = null;
       if (window.ActiveXObject){
           doc = new ActiveXObject('Msxml2.DOMDocument');
           doc.async=false;
           doc.load(xml);
       }
       else if (document.implementation && document.implementation.createDocument){
           var xmlhttp = new window.XMLHttpRequest();
           xmlhttp.open("GET",xml,false);
           xmlhttp.send(null);
           doc = xmlhttp.responseXML.documentElement; 
       }
       return doc;
    }function GetPointList(){
    var doc = loadXML('a.xml');
    if( doc == null)
    return null;

    //2.create data array
    var pts = doc.getElementsByTagName('POINT'); 
    if( pts == null || pts.length <= 0)
    return null;

    var count = pts.length;
    var ret = new Array(count);
    for(var i=0; i<count; i++){
    ret[i] = new Array(2);
    ret[i][0] = pts[i].getAttribute('x');
    ret[i][1] = pts[i].getAttribute('y');
    }
    return ret;
    }function ParseXML(o){
    var pts = GetPointList();
    var bHasRecord = (pts != null) && (pts.length >= 0);
    var html = '';
    if( bHasRecord ){
    for(var i=0; i<pts.length; i++){
    html += '<a href="#" onclick="test(\''+pts[i][0]+'\',\''+pts[i][1]+'\')">keywords </a> <br>';
    }
    }
    o.innerHTML = html;
    }function test(x,y){
    alert('('+x+','+y+')');
    }
    </script>
    <body onload="ParseXML(document.body)">
    </body>
      

  5.   

    http://www.cnblogs.com/wcj12168/archive/2008/12/04/1347559.html
    参考一下
      

  6.   

    我补充一下,如果这个xml是一个字符串形式的变量,而不能存放在服务器端,而且里面的
    <FEATURE> 
    <FIELDS ID="6" OBJCODE="5101050101020022" OBJNAME="abcd" DEPTCODE="51010042" DEPTNAME="efgh" MATERIAL="" GBCODE="51010500300101" OBJPOS="keywords" OBJSTATE="ok" USESTATE="on" CRDATE="1146009600000" CHDATE="-2211753600000" MAPSCALE="500" MEMO=""  #SHAPE#="[Geometry]" #ID#="6" /> 
    <MULTIPOINT> 
    <POINT x="104.060846680346" y="30.6786616511078"/> 
    </MULTIPOINT> 
    </FEATURE> 这一部分是重复的不同的元素,怎么办呢?