2016-01-21 42 views
1

读它,我有一个HTML文件中像这样:XML在HTML从javascript/jQuery的

<html> 
    <script src="/path/to/script1.js"></script> 
    <xml id = "PageXML"> 
     <books> 
      <book> 
       <name>b1</name> 
       <name>b2</name> 
      </book> 
     </books> 
    </xml> 
</html> 

我的问题是:在Script1.js,我能得到XML作为文本($('#PageXML').text() ),但我想仅将xml标记内容读为xml,并将其加载到jQuery/JavaScript文件中的xmldocument中。

可能吗?

+0

请告诉我们你到现在为止所尝试的,并给我们更多的信息。 – Maurize

+0

您应该通过'$ .ajax(...)'读取它。我认为是更好的方法 – Servuc

+0

_“但我想读取xml标签的内容只有xml”_?不确定是否正确解释这部分问题?什么是“仅限xml”?是否需要从'html'文件中移除'xml',但是使用'script1.js'将'xml'加载到'html'文件中? – guest271314

回答

0

你可以把它读作HTML和使用jQuery.parseXML()解析到XML对象。然后将其放置在任何变量中。

xmlString = $('#PageXML')[0].outerHTML; 
 

 
XMLParsed = jQuery.parseXML(xmlString); 
 
console.log(XMLParsed);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<xml id="PageXML"><books><book><name>b1</name><name>b2</name></book></books></xml>

0

您可以使用$('#PageXML').html(),得到:

<books><book><name>b1</name><name>b2</name></book></books> 
+0

是的。我已经使用该选项,但是当我在xmldocument dom解析器中加载该xml时,它不会将其识别为有效的xml。 – user3395100

+0

它为我工作。感谢你的回答。 – user3395100

0

(我不是埃布勒尚未就此发表评论)

阅读Filipes回答您的评论之后。 尝试在将字符串传递给dom解析器之前添加一个有效的xml头。

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> 
<books><book><name>b1</name><name>b2</name></book></books> 

您正在使用哪种XML解析器?