需求設定:要Javascript讀取Client端的XMLIE需將WinXP啟始不標示為安全的ActiveX控制項」或Win8「將未標示成安全的ActiveX控制項初始化並執行指令碼」設為啟用,如只設為提示,Javascript會出現Error,存取被拒。
 
 

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="text/javascript">

function loadXMLFile(file){

var xmlDoc;

if (window.ActiveXObject){

var xmlDoc

var objDataNodes, objDataNode;

//xmlDoc = new ActiveXObject("Microsoft.XMLDOM");

xmlDoc = new ActiveXObject('MSXML2.DOMDocument');  //為支援starts-with及contains,以上一行需mark;改成以下三行,以支援Xpath功能。

xmlDoc.setProperty("SelectionLanguage", "XPath");

xmlDoc.setProperty("SelectionNamespaces","xmlns:xsf='http://schemas.microsoft.com/office/infopath/2003/solutionDefinition'");

xmlDoc.async = false;

xmlDoc.load(file);   //啟始不標示為安全的ActiveX控制項要設為啟用,只設提示是會Javascript出現存取被拒

return xmlDoc;

}

else if (document.implementation && document.implementation.createDocument){

var xmlInfo = new XMLHttpRequest(); 

xmlInfo.open("GET", file, false);

xmlInfo.send(null);

xmlDoc = xmlInfo.responseXML;

return xmlDoc;

}

else{

alert("您的瀏覽器不支援Javascript!! ");

}

}

 

function test1() {

        var xmlDoc

        var objDataNodes, objDataNode;

try{

xmlDoc=loadXMLFile("file:///c:/test.xml");

objDataNodes = xmlDoc.documentElement.selectSingleNode("/Users").childNodes;   //找出所有Record記錄

var i;

var output_str = "";

alert("length=" + objDataNodes.length);

for (var i = 0 ; i <  objDataNodes.length ; i++) {

//alert(objDataNodes.item(i).selectSingleNode("UniqueID").text + "---" + objDataNodes.item(i).selectSingleNode("ProductName").text);

//alert("---" + objDataNodes.item(i).text);

output_str = output_str + objDataNodes.item(i).text + "    ";

}

alert (output_str);

form1.TextBox1.value = output_str;

}catch(ex){

alert("exception:"+ex);

}

}

 

function test2()   //讀取input的檔案

{

if (document.getElementById("file1").value != "")

{

var MyFilename = "file:///" + (document.getElementById("file1").value).replace(/\\/ig, "/");   //將路徑反斜線轉為正斜線

var xmlDoc

var objDataNodes, objDataNode;

try{

xmlDoc=loadXMLFile(MyFilename);

objDataNodes = xmlDoc.documentElement.selectSingleNode("/Users").childNodes;   //找出所有Record記錄

var i;

var output_str = "";

alert("length=" + objDataNodes.length);

for (var i = 0 ; i <  objDataNodes.length ; i++) {

//alert(objDataNodes.item(i).selectSingleNode("UniqueID").text + "---" + objDataNodes.item(i).selectSingleNode("ProductName").text);

//alert("---" + objDataNodes.item(i).text);

output_str = output_str + objDataNodes.item(i).text + "    ";

}

alert (output_str);

form1.TextBox2.value = output_str;

}catch(ex){

alert("exception:"+ex);

}

}

    }

</script>

 

 

</head>

<body bgcolor="#ffffff">

<form id="form1" enctype="multipart/form-data" method="post">

 

<br>

<input type="button" value="讀取c:\test.xml" onclick="test1();"></input>

<br>

<input type="text" ID="TextBox1" size="60"></input>

<br>

<hr>

<br>

<input type="file" id="file1" onchange="test2();" size="40"></input>

<br>

<input type="text" ID="TextBox2"size="60"></input>

</form>

</body>

</html>

arrow
arrow
    全站熱搜

    adamschen9921 發表在 痞客邦 留言(0) 人氣()