//这是C#的,其实js也差不多了。
XmlDocument xd = new XmlDocument();
xd.Load(Server.MapPath("xml.xml"));
XmlNode xn = xd.SelectSingleNode("list/Book[@ID='601']");
Response.Write(xn.Attributes["name"].Value);
XmlDocument xd = new XmlDocument();
xd.Load(Server.MapPath("xml.xml"));
XmlNode xn = xd.SelectSingleNode("list/Book[@ID='601']");
Response.Write(xn.Attributes["name"].Value);
alert(node.getAttribute("ID"));
alert(node.getAttribute("name"));
alert(node.text);
}function createXmlDocFromXml(xml)
{
var xmlDoc;
// cross browser
try {
xmlDoc = document.implementation.CreateDocument("", "", null);
} catch(e) {
try {
xmlDoc = new ActiveXObject("MSXML2.DOMDocument.3.0");
xmlDoc.resolveExternals = true;
}
catch (e) {
throw new Error("not support to create a document.");
}
}
// begin load
var success = xmlDoc.loadXML(xml);// load failly
if(!success) return null;return xmlDoc;
}
</script>
</head>
<body>
<textarea id="TextArea1" style="width: 480px; height: 169px"><?xml version="1.0" encoding="gb2312"?>
<?xml:stylesheet type="text/xsl" href="bookList2.xsl"?>
<list>
<book ID="601" name="book1">你看我的
</book>
<book ID="602" name="book2">他的
</book>
</list></textarea>
<br />
<input id="Button1" type="button" value="button" onclick="foo()" />
</body>
</html>
http://www.cnblogs.com/wucf2004/archive/2007/05/25/575012.html
http://www.blogjava.net/xuechen0721/articles/85257.html
http://ttyp.cnblogs.com/archive/2004/11/30/71020.aspx
那你看看
楼上的资料我没找到具体显示 item的id的方法!至于晓风大哥的,出错了!不能测试!而且也太烦琐~
我觉得这只是个非常小的取得的问题!
我用selectNodes能取得节点之间的数据,可是取不到节点的id属性!
郁闷
var xmlDoc =
new ActiveXObject("Microsoft.XMLDOM");
var currNode;
xmlDoc.async = false;
xmlDoc.load("Data.xml");
if
xmlDoc.parseError.errorCode != 0)
{
//如果打开文件出错
var myErr = xmlDoc.parseError;
document.write
("You have error " + myErr.reason);
}
else
{
document.write("<hr size=1>");
xmlDoc.setProperty
("SelectionLanguage", "XPath");
currNode =
xmlDoc.documentElement.childNodes[1];
//取得<rs:data>部分
alert(currNode.childNodes[0]
.attributes[0].value);
//测试结果 for(i=0;i<currNode.
childNodes.length;i++)
//遍历每个'数据行'
{
for(j=0;j<currNode.childNodes[i].
attributes.length;j++)
//遍历行的每个属性
{
document.write(currNode.childNodes[i].
attributes[j].name
+ " : " + currNode.childNodes[i].
attributes[j].value + "<BR>");
}
document.write("<hr size=1>");
}
}
</script>
========
sorry, 代码被截断了,DOM 就是这么操作的啊, 还有更 smart 的?<!--http://community.csdn.net/Expert/TopicView3.asp?id=5619611--><!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>
<script type="text/javascript">
function foo()
{
var xml = document.getElementById("TextArea1").value;
var doc = createXmlDocFromXml(xml);
var node =doc.selectSingleNode("//list/book[@ID='601']");
alert(node.getAttribute("ID"));
alert(node.getAttribute("name"));
alert(node.text);
}function createXmlDocFromXml(xml)
{
var xmlDoc;
// cross browser
try {
xmlDoc = document.implementation.CreateDocument("", "", null);
} catch(e) {
try {
xmlDoc = new ActiveXObject("MSXML2.DOMDocument.3.0");
xmlDoc.resolveExternals = true;
}
catch (e) {
throw new Error("not support to create a document.");
}
}
// begin load
var success = xmlDoc.loadXML(xml);// load failly
if(!success) return null;return xmlDoc;
}
</script>
</head>
<body>
<textarea id="TextArea1" style="width: 480px; height: 169px"><?xml version="1.0" encoding="gb2312"?>
<?xml:stylesheet type="text/xsl" href="bookList2.xsl"?>
<list>
<book ID="601" name="book1">你看我的
</book>
<book ID="602" name="book2">他的
</book>
</list></textarea>
<br />
<input id="Button1" type="button" value="button" onclick="foo()" />
</body>
</html>