<script> function hehe() { var doc = new ActiveXObject("Microsoft.XMLDOM"); doc.async="false"; doc.load("<?xml version="1.0" encoding="GB2312"?><root><channel><title>HelloWorld</title></channel></root>"); var root = doc.documentElement; var channel = root.selectSingleNode("channel"); var title = channel.childNodes[0]; var titleText = title.text; alert(titleText); } window.onload=hehe; </script>
修正: <script> function hehe() { var doc = new ActiveXObject("Microsoft.XMLDOM"); doc.async="false"; doc.loadXML("<?xml version='1.0' encoding='GB2312'?><root><channel><title>HelloWorld</title></channel></root>"); var root = doc.documentElement; var channel = root.selectSingleNode("channel"); var title = channel.childNodes[0]; var titleText = title.text; alert(titleText); } window.onload=hehe; </script>
function hehe()
{
var doc = new ActiveXObject("Microsoft.XMLDOM");
doc.async="false";
doc.load("<?xml version="1.0" encoding="GB2312"?><root><channel><title>HelloWorld</title></channel></root>");
var root = doc.documentElement;
var channel = root.selectSingleNode("channel");
var title = channel.childNodes[0];
var titleText = title.text;
alert(titleText);
}
window.onload=hehe;
</script>
<script>
function hehe()
{
var doc = new ActiveXObject("Microsoft.XMLDOM");
doc.async="false";
doc.loadXML("<?xml version='1.0' encoding='GB2312'?><root><channel><title>HelloWorld</title></channel></root>");
var root = doc.documentElement;
var channel = root.selectSingleNode("channel");
var title = channel.childNodes[0];
var titleText = title.text;
alert(titleText);
}
window.onload=hehe;
</script>
我可以多给你加分
帮下吧
现在改成字符串数据源版本,
代码如下,L@_@K:
<!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>js.loadXmlDom.xmlString.html</title>
<meta name="generator" content="editplus" />
<meta name="author" content="Gao YiXiang" />
<meta name="email" content="[email protected]" />
<meta name="keywords" content="javascript dhtml dom" />
<meta name="description" content="I love web development." />
</head>
<script type="text/javascript">
<!--
var xmlString = "<Order> <Account>9900234</Account> <Item id='1'> <SKU>1234</SKU> <PricePer>5.95</PricePer> <Quantity>100</Quantity> <Subtotal>595.00</Subtotal> <Description>Super Widget Clamp</Description> </Item> <Item id='2'> <SKU>6234</SKU> <PricePer>22.00</PricePer> <Quantity>10</Quantity> <Subtotal>220.00</Subtotal> <Description>Mighty Foobar Flange</Description> </Item> <Item id='3'> <SKU>9982</SKU> <PricePer>2.50</PricePer> <Quantity>1000</Quantity> <Subtotal>2500.00</Subtotal> <Description>Deluxe Doohickie</Description> </Item> <Item id='4'> <SKU>3256</SKU> <PricePer>389.00</PricePer> <Quantity>1</Quantity> <Subtotal>389.00</Subtotal> <Description>Muckalucket Bucket</Description> </Item> <NumberItems>1111</NumberItems> <Total>3704.00</Total> <OrderDate>07/07/2002</OrderDate> <OrderNumber>8876</OrderNumber> </Order>";document.write("<xml id='xmlDS'>"+xmlString+"</xml>");/*
* 创建 XmlDom 对象实例。
*/
function createXmlDom()
{
var xmlVersions = new Array("MSXML2.DOMDocument.5.0", "MSXML2.DOMDocument.4.0",
"MSXML2.DOMDocument.3.0", "MSXML2.DOMDocument", "Microsoft.XmlDom"); for (var i=0; i<xmlVersions.length; i++)
{
try
{
var oXmlDom = new ActiveXObject(xmlVersions[i]); return oXmlDom;
}
catch (e)
{
//alert(e.message);
}
} throw new Error("当前系统未安装 MSXML!");
}
function getNode(doc, xpath)
{
var retval = ""; var value = doc.selectSingleNode(xpath); if (value) retval = value.text; return retval;
}function fillValues(itemIndex)
{
document.forms[0].SKU.value = getNode(orderDoc, "/Order/Item[" + itemIndex + "]/SKU");
document.forms[0].Price.value = getNode(orderDoc, "/Order/Item[" + itemIndex + "]/PricePer");
document.forms[0].Quantity.value = getNode(orderDoc, "/Order/Item[" + itemIndex + "]/Quantity");
document.forms[0].Total.value = getNode(orderDoc,"/Order/Item[" + itemIndex + "]/Subtotal");
document.forms[0].Description.value = getNode(orderDoc, "/Order/Item[" + itemIndex + "]/Description");
}
function getDataNext()
{
i++; if (i > items.length - 1) i = 0; fillValues(i);
}function getDataPrev()
{
i--; if (i < 0) i = items.length - 1; fillValues(i);
}// 如果是文本数据源就这么处理!
/*
var dataSource = "order.xml";var orderDoc = createXmlDom();orderDoc.load(dataSource);
*/var orderDoc = document.getElementById("xmlDS");
var items;
if (orderDoc.readyState == "complete")
{
// 通过 XPath 方式读取全部订单项!
items = orderDoc.selectNodes("/Order/Item");
}
var i = -1;
//-->
</script>
<body onload="getDataNext();">
<h2>
XML Order Database</h2>
<form>
<table border="0">
<tr>
<td>
SKU</td>
<td>
<input type="text" name="SKU"></td>
</tr>
<tr>
<td>
Price</td>
<td>
<input type="text" name="Price"></td>
</tr>
<tr>
<td>
Quantity</td>
<td>
<input type="text" name="Quantity"></td>
</tr>
<tr>
<td>
Total</td>
<td>
<input type="text" name="Total"></td>
</tr>
<tr>
<td>
Description</td>
<td>
<input type="text" name="Description"></td>
</tr>
</table>
<input type="button" value=" << " onclick="getDataPrev();">
<input type="button" value=" >> " onclick="getDataNext();">
</form>
</body>
</html>
我还是不懂
我就是想要用JS把一个TXT文件转换为XML
其他功能都不需要
谢谢各位
<?xml version="1.0" encoding="utf-8"?>
<Order>
<Account>9900234</Account>
<Item id="1">
<SKU>1234</SKU>
<PricePer>5.95</PricePer>
<Quantity>100</Quantity>
<Subtotal>595.00</Subtotal>
<Description>Super Widget Clamp</Description>
</Item>
<Item id="2">
<SKU>6234</SKU>
<PricePer>22.00</PricePer>
<Quantity>10</Quantity>
<Subtotal>220.00</Subtotal>
<Description>Mighty Foobar Flange</Description>
</Item>
<Item id="3">
<SKU>9982</SKU>
<PricePer>2.50</PricePer>
<Quantity>1000</Quantity>
<Subtotal>2500.00</Subtotal>
<Description>Deluxe Doohickie</Description>
</Item>
<Item id="4">
<SKU>3256</SKU>
<PricePer>389.00</PricePer>
<Quantity>1</Quantity>
<Subtotal>389.00</Subtotal>
<Description>Muckalucket Bucket</Description>
</Item>
<NumberItems>1111</NumberItems>
<Total>3704.00</Total>
<OrderDate>07/07/2002</OrderDate>
<OrderNumber>8876</OrderNumber>
</Order>js.loadXmlDom.html
<!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>js.loadXmlDom.html</title>
<meta name="generator" content="editplus" />
<meta name="author" content="Gao YiXiang" />
<meta name="email" content="[email protected]" />
<meta name="keywords" content="javascript dhtml dom" />
<meta name="description" content="I love web development." />
<script language="JavaScript">
<!--
/*
* 创建 XmlDom 对象实例。
*/
function createXmlDom()
{
var xmlVersions = new Array("MSXML2.DOMDocument.5.0", "MSXML2.DOMDocument.4.0",
"MSXML2.DOMDocument.3.0", "MSXML2.DOMDocument", "Microsoft.XmlDom"); for (var i=0; i<xmlVersions.length; i++)
{
try
{
var oXmlDom = new ActiveXObject(xmlVersions[i]); return oXmlDom;
}
catch (e)
{
//alert(e.message);
}
} throw new Error("当前系统未安装 MSXML!");
}
function getNode(doc, xpath)
{
var retval = ""; var value = doc.selectSingleNode(xpath); if (value) retval = value.text; return retval;
}function fillValues(itemIndex)
{
document.forms[0].SKU.value = getNode(orderDoc, "/Order/Item[" + itemIndex + "]/SKU");
document.forms[0].Price.value = getNode(orderDoc, "/Order/Item[" + itemIndex + "]/PricePer");
document.forms[0].Quantity.value = getNode(orderDoc, "/Order/Item[" + itemIndex + "]/Quantity");
document.forms[0].Total.value = getNode(orderDoc,"/Order/Item[" + itemIndex + "]/Subtotal");
document.forms[0].Description.value = getNode(orderDoc, "/Order/Item[" + itemIndex + "]/Description");
}
function getDataNext()
{
i++; if (i > items.length) i = 1; fillValues(i);
}function getDataPrev()
{
i--; if (i < 1) i = items.length; fillValues(i);
}var dataSource = "order.txt";var orderDoc = createXmlDom();orderDoc.load(dataSource);// 通过 XPath 方式读取全部订单项!
var items = orderDoc.selectNodes("/Order/Item");var i = 0;
//-->
</script>
</head>
<body onload="getDataNext();">
<h2>
XML Order Database</h2>
<form>
<table border="0">
<tr>
<td>
SKU</td>
<td>
<input type="text" name="SKU"></td>
</tr>
<tr>
<td>
Price</td>
<td>
<input type="text" name="Price"></td>
</tr>
<tr>
<td>
Quantity</td>
<td>
<input type="text" name="Quantity"></td>
</tr>
<tr>
<td>
Total</td>
<td>
<input type="text" name="Total"></td>
</tr>
<tr>
<td>
Description</td>
<td>
<input type="text" name="Description"></td>
</tr>
</table>
<input type="button" value=" << " onclick="getDataPrev();">
<input type="button" value=" >> " onclick="getDataNext();">
</form>
</body>
</html>