当前位置:编程学习 > C#/ASP.NET >>

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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,