我有一点(我认为:))问题。
我有一个名为index.html
的页面HTML:
<html>
<head>
<script src="script.js" type="text/javascript" ></script>
</head>
<body>
<div id="MyButtons">
Here there are some buttons that call some javascripts functinons of file script.js
</body>
</html>
然后我还有一个像这样的简单XML文件:
<?xml version="1.0">
<testo>
<paragrafo id="p_01">
<soggetto>Steve</soggetto> <verbo>is</verbo> a <complemento>man</complemento>.
<soggetto>Mark</soggetto> <verbo>is</verbo> another <complemento>man</complemento>.
</paragrafo>
<paragrafo id="p_02">
<soggetto>Tony</soggetto> <verbo>is</verbo> a <complemento>cousin of Steve</complemento>.
<soggetto>Maria</soggetto> <verbo>is</verbo> another <complemento>cousinf of Steve</complemento>.
</paragrafo>
.
.
.other elements <paragrafo>
.
.
</testo>
我创建了我的个人标签,例如<testo>, <soggetto>, <verbo>
ecc。
我希望点击div="MyButton"
中的我的按钮启动一个假设的功能javascript loadXML('file.xml',"divId")
,复制file.xml
的所有内容(文字和标签)并将其放在div上id {“divId”(函数loadXML
创建的)在index.html
的正文中。
在loadXML
函数之后,我希望我的html页面看起来像这样:
<html>
<head>
<script src="script.js" type="text/javascript" ></script>
</head>
<body>
<div id="divId">
<testo>
<paragrafo id="p_01">
<soggetto>Steve</soggetto> <verbo>is</verbo> a <complemento>man</complemento>.
<soggetto>Mark</soggetto> <verbo>is</verbo> another <complemento>man</complemento>.
</paragrafo>
<paragrafo id="p_02">
<soggetto>Tony</soggetto> <verbo>is</verbo> a <complemento>cousin of Steve</complemento>.
<soggetto>Maria</soggetto> <verbo>is</verbo> another <complemento>cousinf of Steve</complemento>.
</paragrafo>
.
.
.other elements <paragrafo>
.
.
</testo>
</div>
<div id="MyButtons">
Here there are some buttons that call some javascripts functinons of file script.js
</div>
</body>
</html>
这样我想使用index.html的按钮用于使用document.getElementById('p_01');
的调用函数和DOM
的其他函数,就好像file.xml的内容已经在默认页面中一样的index.html。
我怎么能写这个功能loadXML("file.xml","divID")
呢?
我希望你可以帮助我,请你在没有任何结果的情况下尝试这样做的日子:(
谢谢你!
答案 0 :(得分:1)
查看Microsoft.XMLDOM
FOR IE和
document.implementation.createDocument()
要加载xml文档,您可以执行以下操作。
if (window.ActiveXObject){
var xmldoc=new ActiveXObject("Microsoft.XMLDOM");
}else if (document.implementation && document.implementation.createDocument){
xmldoc=document. implementation.createDocument("", "doc", null);
}
xmldoc.async = false;
xmldoc.load("file.xml");
您需要做一些工作来获取节点
答案 1 :(得分:0)
我认为这不可行。问题是getElementById仅适用于HTML DOM对象,而“paragrafo”不是有效的DOM对象(“p”将是一个),我的意思是,它不足以拥有格式良好的html标签,它们也必须是html 有效标记。
您应该告诉我们用户按下按钮后应用程序中发生了什么?按钮有什么作用?
答案 2 :(得分:0)
很多人都想做你正在做的事情,但遗憾的是,这不是HTML的发展方式。在过去一年左右的时间里,你的“小”问题在标准领域实际上是一个非常大的问题。例如,参见http://www.w3.org/2010/html-xml/snapshot/
的第2.4节