以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  新手,储了很多疑问,望一一解答。  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=8270)


--  作者:weekend
--  发布时间:6/13/2004 6:19:00 AM

--  新手,储了很多疑问,望一一解答。
<html>
<head>
<script type="text/javascript"
for="window" event="onload">
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("1.xml")

nodes=xmlDoc.documentElement.childNodes
t1.innerText=    nodes.item(0).text
</script>
</head>

<body bgcolor="white">
<span id="t1"></span>
</body>
<script language="JavaScript">
<!--
window.open = SymRealWinOpen;
//-->
</script>
</html>

我知道这样可以显示文件 1.xml (红色字)里面的信息。而且这样也可以不让别人通过 查看源文件 来看xml里面的其他信息。
但是我不知道如何显示 结点 里面的 结点 的信息。

<question>
    <text>
      QQQQQQQQQQQQQ
    </text>
    <possible-answer>
      <label>A</label>
      <text>AAAAAA</text>
    </possible-answer>
    <possible-answer>
      <label>B</label>
      <text>BBBBBB</text>
    </possible-answer>
    <possible-answer>
      <label>C</label>
      <text>CCCCCCCCCC</text>
    </possible-answer>
    <correct-answer>C</correct-answer>
  </question>

象上面的代码,就可以显示 QQQQQQQQQQQ。但我不知道如何显示 如 possible-answer里面的label & text 里面的信息了。望指明。
其他问题:
1.IE 支持 css 和xsl, netscape只支持css,不支持xsl。 对吗?(那是否如果功能够的话,我们就该用xsl呢?因为这样能使更多的浏览器看到。这样分析对吗?)
2.我准备做一个 选择题测验 的网页。 象刚刚所说的,采用 xmlDoc.load("1.xml") 来不让别人知道xml的内容,这样好吗?其实,有必要吗?
xml里面的内容格式就如上面所示。要把信息显示成我们平时那样的格式(就是一般的网上测验的 格式(界面)),用什么方法好呢?javascript?要考虑什么方面呢?
请说说你们的经验,或者告诉我一些有关文章。谢谢。


--  作者:forwar
--  发布时间:7/5/2004 10:14:00 AM

--  
那是在公元2001年,我用我***菜谱建立了一个网站,而且行得不错。网站的节读数很高,得到的反馈也很多。后来就到了电话,是Michael Ovitz打来的。他告诉我他回来做生意,想把这些菜谱作为事业的起点。他认为其潜力不仅仅在于它一份菜谱,而是Sally Field领衔出演的一系列关于与恐怖份做斗争的身怀绝艺的技艺精湛的厨师的电影。他所要的是一250个菜谱的标题和它们组成成分的清单。而且他希望在15分内得到它们。我狂喜,我颤栗,然后我意识到我用的是HTML。
我从尖叫中醒来 - 冷汗顺着我的脸往下淌。
为什么是个噩梦呢?梦中的是发生在将来,一个XML和它的同伴XSL(扩展样式表 - eXtensible Stylesheet Languange)被广泛使用的时代。即使这样,我用HTML建立我的整个菜谱网站,不是XML。而且,HTML就是HTML - 我没有办法从中通过拷贝粘贴提取想要的信息。CSS此时也毫无用处。但是如果我用了XSL,我就会很快产生那份清单,然后快乐地从别人的天和努力中榨取利益......

理解XSL的要点还是很重要的 - 它会使Web开发者的生活更容易些.......

XSL不仅仅是应用样式。当使用XML处理器时,XSL源文档中的信息将被评价、重新安排,然后重新组装。我们最终得到的不只是XML数据的可爱的版本 - 而是可以被容易地添加、修改和重新排序的灵活的源信息。这个最终产品叫做结果树(Result Tree)......

它告诉XSL处理器如果发现一套<recipe_name>标记符,就应该分离出内容然后用<p>和</p>包围起来。或者,如果你想炫耀你的XSL的知识,你可以说“添加到结果树中。”
这是一个相当简单的测试,而且很典型。XML元素的内容被表现信息所包围......

以上节选自http://bbs.xml.org.cn/dispbbs.asp?boardID=8&ID=7632

“那是否如果功能够的话,我们就该用xsl呢?因为这样能使更多的浏览器看到。这样分析对吗?”如果是我,我也会这样想,物竞天择,优胜劣汰,结构齐整功能强大的事物必然在抉择中胜出。况且xsl与css比起来,css并不能对xml中的数据进行操作,这就是“如果我用了XSL,我就会很快产生那份清单,然后快乐地从别人的努力中榨取利益......”的含义。

“象刚刚所说的,采用 xmlDoc.load("1.xml") 来不让别人知道xml的内容,这样好吗?其实,有必要吗?” 当然有必要!这样的话需要load的时候就会被load,不需要load的时候就不用load,那么我认为最起码的好处就是可以使网页的浏览速度变快。这和flash中的loadMovie和unloadMovie是一样的。

“象上面的代码,就可以显示 QQQQQQQQQQQ。但我不知道如何显示 如 possible-answer里面的label & text 里面的信息了。”我可以告诉你,我也不知道如何显示,^_^哈哈哈~~
但我可以这样做:
<question>
    <text>
      QQQQQQQQQQQQQ
    </text>
</question>
<possible-answer>
      <label>A</label>
      <text>AAAAAA</text>
      <label>B</label>
      <text>BBBBBB</text>
      <label>C</label>
      <text>CCCCCCCCCC</text>
</possible-answer>
<correct-answer>
     C
</correct-answer>
这样的话,再把代码改改试试看。

如果用xsl的话,就很好办了:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
  <HTML>
   <BODY>
    <xsl:for-each select="question">
      <xsl:apply-templates />
    </xsl:for-each>
    <TABLE BORDER="1" CELLPADDING="5">
    <TR>
      <TH>label</TH><TH>answer_text</TH>
    </TR>
    </TABLE>
   </BODY>
  </HTML>
  .......
</xsl:template>
<xsl:template match="label">
<TD WIDTH="150" STYLE="font-size:18pt; color:#800000;"><xsl:value-of/></TD>
</xsl:template>
<xsl:template match="answer_text">
<TD STYLE="color:RED;"><xsl:value-of/></TD>
</xsl:template>
.......
</xsl:stylesheet>
这个我没调试,如果有错的地方,请不吝赐教,小弟发这个帖本来就是想抛砖引玉,希望各位大侠伸出援助之手!

[此贴子已经被作者于2004-7-5 11:02:26编辑过]

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