以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  怎么在HTML里调用xml中的数据?请高手指点指点  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=26533)


--  作者:bieguilian
--  发布时间:1/17/2006 6:00:00 PM

--  怎么在HTML里调用xml中的数据?请高手指点指点
我应该怎样才能在html的表格里调用这些数据?请高手指点指点,QQ:94392515,多谢了!
<?xml version="1.0" encoding="gb2312" ?>
<root>
<cost>100</cost>
<remains>73.61</remains>
<password></password>
<BOOKS>
<BOOK>
<TITLE>The Adventures of Huckleberry Finn</TITLE>
<AUTHOR Born="1835">Mark Twain</AUTHOR>
<PAGES>298</PAGES>
<PRICE>5.49</PRICE>
</BOOK>
<BOOK>
<TITLE>The Marble Faun</TITLE>
<AUTHOR Born="1804">Nathaniel Hawthorne</AUTHOR>
<PAGES>473</PAGES>
<PRICE>10.95</PRICE>
</BOOK>
<BOOK>
<TITLE>Moby-Dick</TITLE>
<AUTHOR Born="1819">Herman Melville</AUTHOR>
<PAGES>724</PAGES>
<PRICE>9.95</PRICE>
</BOOK>
</BOOKS>
</root>
--  作者:lenovotwo
--  发布时间:1/17/2006 8:22:00 PM

--  
DOM
--  作者:bieguilian
--  发布时间:1/18/2006 9:36:00 AM

--  
我也知道用DOM,但是我不知道这个怎么用Java Script写,让它显示在单个表格中
<TITLE>The Adventures of Huckleberry Finn</TITLE>
<AUTHOR Born="1835">Mark Twain</AUTHOR>
<PAGES>298</PAGES>
<PRICE>5.49</PRICE>

--  作者:RayFairy
--  发布时间:2/6/2006 10:02:00 PM

--  
数据岛,去google一下有很多
--  作者:hgpimac
--  发布时间:2/17/2006 11:17:00 AM

--  
一个实例,两个文件:
html文件:
<html>
  <head>
    <script language="JavaScript">
<!--
    var i = -1;
    var orderDoc = new ActiveXObject("MSXML2.DOMDocument.3.0");
    orderDoc.load("javascript+xml.xml");
    var items = orderDoc.selectNodes("/Order/Item");
        
    function getNode(doc, xpath) {
      var retval = "";
      var value = doc.selectSingleNode(xpath);
      if (value) retval = value.text;
      return retval;
    }
    
    function getDataNext() {
      i++;
      if (i > items.length - 1) i = 0;

      document.forms[0].SKU.value = getNode(orderDoc, "/Order/Item[" +
i + "]/SKU");
      document.forms[0].Price.value = getNode(orderDoc, "/Order/Item["
+ i + "]/PricePer");
      document.forms[0].Quantity.value = getNode(orderDoc,
"/Order/Item[" + i + "]/Quantity");
      document.forms[0].Total.value = getNode(orderDoc, "/Order/Item["
+ i + "]/Subtotal");
      document.forms[0].Description.value = getNode(orderDoc,
"/Order/Item[" + i + "]/Description");
    }
    
    function getDataPrev() {
      i--;
      if (i < 0) i = items.length - 1;
      
      document.forms[0].SKU.value = getNode(orderDoc, "/Order/Item[" +
i + "]/SKU");
      document.forms[0].Price.value = getNode(orderDoc, "/Order/Item["
+ i + "]/PricePer");
      document.forms[0].Quantity.value = getNode(orderDoc,
"/Order/Item[" + i + "]/Quantity");
      document.forms[0].Total.value = getNode(orderDoc, "/Order/Item["
+ i + "]/Subtotal");
      document.forms[0].Description.value = getNode(orderDoc,
"/Order/Item[" + i + "]/Description");
    }
    
// -->
    </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>

xml文件:
<?xml version="1.0" ?>
<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>


--  作者:一笑忘忧愁
--  发布时间:2/25/2006 5:10:00 PM

--  
建议查一下xsl怎么用,或许又惊喜呦
如果说错了请大虾提醒我
--  作者:bieguilian
--  发布时间:2/27/2006 11:00:00 AM

--  
谢谢你们
<cost>100</cost>
<remains>73.61</remains>
<password></password>
<BOOKS>
<BOOK>
<TITLE>The Adventures of Huckleberry Finn</TITLE>
<AUTHOR Born="1835">Mark Twain</AUTHOR>
<PAGES>298</PAGES>
<PRICE>5.49</PRICE>
</BOOK>
但是<remains>73.61</remains>和<PAGES>298</PAGES>是不同级别的,好像不能用数据岛,而且我也是用的HTML中的 td 元素,让他成表格显示,随着BOOK元素的增加,表格也要增加!
--  作者:qb10
--  发布时间:12/20/2006 4:44:00 PM

--  
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>qb</title>
</head>
<body >
<XML ID="xmldso">

<?xml version="1.0"?>

<booklist>

<book>

<title>Straight Talk About Computers</title>

<isbn>72-80088-005</isbn>

</book>

</booklist>

</XML>

<TABLE BORDER=1 DATASRC="#xmldso">

<THEAD>

<TR><TH>title</TH>

<TH>isbn</TH></TR>

</THEAD>

<TBODY>

<TR><TD><SPAN DATAFLD="title"></SPAN></TD>

<TD><SPAN DATAFLD="isbn">

</SPAN></TD></TR>
</TBODY>
</TABLE>
</body>
</html>


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
78.125ms