با سلام
آیا می توان یک فایل XML را با جاوااسکریپت خواند؟
من می خوام توی فایلم (XML) که هر تگش یه ID منحصر به فرد دارد رو بخونم و در یک تگ <P> بریزم
امیدوارم منظورم را فهمیده باشید.
با سلام
آیا می توان یک فایل XML را با جاوااسکریپت خواند؟
من می خوام توی فایلم (XML) که هر تگش یه ID منحصر به فرد دارد رو بخونم و در یک تگ <P> بریزم
امیدوارم منظورم را فهمیده باشید.
با جاوا اسکریپت امکان باز گشایی فایل را ندارید ولی میتوانید محتویات یک فایل را به صورت text در یک متغییر جاوا اسکریپت ذخیره کنید و پردازش خود را انجام دهید.
در IE با استفاده از :
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(yourtext);
و برای دیگر مرورگرها :
parser=new DOMParser();
xmlDoc=parser.parseFromString(yourtext,"text/xml");
که با استفاده از getElementsByTagName و childNodes و nodeValue میتوانید به راحتی به هدف مورد نظر برسید.
موفق باشید
سلام.
در مورد فایلهای xml این قضیه یه خرده فرق می کنه، raravaice جان. (;با جاوا اسکریپت امکان باز گشایی فایل را ندارید
قبلا در فروم دیگه به این سوال پاسخ داده شده، اگر مایل بودید می تونید به اون آدرس مراجعه کنید.
http://forum.p30world.com/showthread.php?t=327316
جالب بود. نمونه کد را اینجا هم بزار بفرستمش توی فهرست ;)
موفق باشید
<html>
<head>
<script type="text/javascript">
function loadXMLDoc(dname)
{
var xmlDoc;
if (window.XMLHttpRequest)
{
xmlDoc=new window.XMLHttpRequest();
xmlDoc.open("GET",dname,false);
xmlDoc.send("");
return xmlDoc.responseXML;
}
// IE 5 and IE 6
else if (ActiveXObject("Microsoft.XMLDOM"))
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.load(dname);
return xmlDoc;
}
alert("Error loading document");
return null;
}
</script>
</head>
<body>
<h1>W3Schools Internal Note</h1>
<p><b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span>
<script type="text/javascript">
xmlDoc=loadXMLDoc("note.xml");
document.getElementById("to").innerHTML=xmlDoc.get ElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=xmlDoc.g etElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=xmlDo c.getElementsByTagName("body")[0].childNodes[0].nodeValue;
</script>
</body>
</html>
من کد بالا رو با ASP.NET 3.5 تست کردم ولی بعضی از Property ها و توابع رو نداره
قابل بحثه در فرم ASP.NET
منبع W3Schools.com
سایت http://forum.p30world.com/showthread.php?t=327316
// works only in ie, ff & opera
window.onload = function() {
var xml = new oXML();
xml.load("tt.xml");
if (window.clipboardData) {
xml.async = false;
if (xml.readyState == 4) {
callback(xml);
}
} else {
xml.onload = function() { callback(xml) };
}
};
function oXML() {
return (window.ActiveXObject) ?
new ActiveXObject('Microsoft.XMLDOM') :
document.implementation.createDocument('', '', null);
}
function callback(xml) {
var nodes = xml.getElementsByTagName("test");
for (var i = 0; i < nodes.length; i++) {
var ele = nodes[i].getElementsByTagName("name")[0].childNodes[0];
// Lo00oL, thanx to neopersia ( Yaser ), ;)
var val;
try {
val = ele.nodeValue;
}
catch(e) {
val = ele.textContent;
}
alert(val);
}
};
// xml
<?xml version="1.0" encoding="UTF-8" ?>
<test>
<name>eAmin</name>
</test>
سلام میشه فایل ها رو ویرایش هم کرد البته شدن که میشه اخه من ی کد دارم ولی درست کار نمی کنه فقط یکبار کار میکنه