-1

データをオフラインで保存する必要があるため、データを XML として保存します。JavaScript で XML オブジェクトを取得する方法がわかりません。

 <xml id=xmlData>
        <data>
            <tb1>
               <id>1</id>
               <name>1</name>
            </tb1>
            <tb1>
               <id>2</id>
               <name>2</name>
            </tb1>
        </data>
    </xml>
    <html id="MainForm">
    <head id="Head1">

    </head>
    <body>
    <script type="text/javascript">
    var xmlDoc;
    // code for IE
    if (window.ActiveXObject)
    {
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    }
    // code for Mozilla, Firefox, Opera, etc.
    else if (document.implementation.createDocument)
    {
    xmlDoc=document.implementation.createDocument("","",null);
    }
    else
    {
    alert('Your browser cannot handle this script');
    }
    xmlDoc.async=false;
    xmlDoc.load("");//how can i get the xml?

    var x=xmlDoc.documentElement.childNodes;

    for (var i=0;i<x.length;i++)
    { 
    if (x[i].nodeType==1)
      { 
      //Process only element (nodeType 1) nodes
      document.write(x[i].nodeName + ": ");
      document.write(x[i].childNodes[0].nodeValue);
      document.write("<br />");
      } 
    }
    </script>
    </body>
    </html>
4

2 に答える 2

0

これを行うには、ドキュメントでローカル変数を使用します。オブジェクトの文字列プロパティとして XML を取得できる場合は、これが役立つ可能性があります。

私のアプリケーションでは、やや似た使用法があります。サービス呼び出しを通じて SQL Azure DB から "XML" 列を読み取り、この XML データをサービスの戻りオブジェクトの "文字列" プロパティとして取得します。

これを読むために私がしていることは次のとおりです。

_LocalVariable= XMLFromString(DataObject.Filter);
                    $.each($(_LocalVariable).find("Filter"), 
                        function (index,filterDataItem) {
                        $filterDataItem =$(filterDataItem);
                        var tFilterType =$filterDataItem.find("FilterType").attr("class");
                        var tOperator = $filterDataItem.find("Operator").attr("class");
                        var tValue = $filterDataItem.find("Value").text();
                       // Do more operations
                    });


//--------------------------------------------------------------------------------
//Parse XML from String
//--------------------------------------------------------------------------------
function XMLFromString(pXMLString) {
    if (!pXMLString)
        pXMLString = "<FilterRule></FilterRule>";
    if (window.ActiveXObject) {
        var oXML = new ActiveXObject("Microsoft.XMLDOM");
        oXML.loadXML(pXMLString);
        return oXML;
    } else {
        return (new DOMParser()).parseFromString(pXMLString, "text/xml");
    }
  }

データベース内の私のXMLは次のようなものです-

<FilterRule>
  <Filter id="1">
    <FilterType id="AB11">Ranking</FilterType>
    <Operator id="1">Equal To</Operator>
    <Value>1</Value>
  </Filter>
  <Filter id="2">
    <FilterType id="AB22">Segment</FilterType>
    <Operator id="1">Equal To</Operator>
    <Value>2</Value>
  </Filter>
  <Logic>Or</Logic>
</FilterRule>
于 2013-05-06T05:04:11.313 に答える