js中读取某列的id属性该怎么写代码?
js中读取某列的id属性该怎么写代码?效果和用<xsl:value-of select="@ID"/>读取
<book ID="601">一样!
xml:
<?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>
xsl:
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/list">
<xsl:for-each select="book">
<h1>ID:<xsl:value-of select="@ID"/></h1>
<h1>name:<xsl:value-of select="@name"/></h1>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
js代码:等你来教我呢~~~~~~~~~~~~~
谢谢
--------------------编程问答-------------------- //这是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);
--------------------编程问答-------------------- 能否给出经过xslt解析后的html文件源代码 --------------------编程问答-------------------- 我并没有做解析!楼上的,我不知道id号的啊~是要读取并显示出来! --------------------编程问答--------------------
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> --------------------编程问答-------------------- 明白了,你的问题是不是js操作xml文件?
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属性!
郁闷 --------------------编程问答-------------------- 不知道你能否取得节点了? --------------------编程问答-------------------- <SCRIPT language=javascript>
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>
补充:.NET技术 , ASP.NET