在HTML网站中显示XML?

时间:2015-02-06 22:26:01

标签: html xml

我希望显示一些XML数据,但是遇到了问题。

我想要显示的xml数据如下:

<?xml version="1.0" encoding="utf-8"?>    
 <rooms>    
  <not_in_rooms>    
    </not_in_rooms>      
  <room name="Room1" description="text" users="0" id="r12" passworded="false"  owner_username="admin" owner_siteid="" >     
    </room>     
  <room name="Room2" description="text" users="0" id="r13" passworded="false"  owner_username="admin" owner_siteid="" >
      <user ip="0.0.0.0" name="user1" siteId="" gender="male" cam="0" camIsPrivate="false" mic="0" >
        </user>     
    </room>       

我想显示房间名称(即Room1,Room2)和每个房间的用户(即user1)。我在html教程中找到了通用的xml,但是当每个元素中都有调用属性时,它们没有解释该做什么。

2 个答案:

答案 0 :(得分:0)

您可以根据自己的需要使用多种方法。可能最简单的是XSLT或使用像PHP这样的服务器端脚本语言解析它。

XSLT可能是最接近“标准”方式的。您只需链接到/嵌入XML文件并向该文件添加一个元素,声明您应该使用XSLT样式表。网上有很多XSLT教程。如果您想知道如何阅读所有属性,请参阅this question

您还可以使用PHP来解析和输出HTML。这会更复杂,但也更灵活。

答案 1 :(得分:0)

您可以使用纯JavaScript和DOM解析器来解析XML。

假设您将XML作为JavaScript中的变量:

var txt = "<XML></XML>"
if (window.DOMParser)
  {
  parser=new DOMParser();
  xmlDoc=parser.parseFromString(txt,"text/xml");
  }
else // Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async=false;
  xmlDoc.loadXML(txt);
  }
 //get take data..
 xmlDoc.getElementsByTagName("Yourtagname")[0]
 //Get Attribute Data...
 xmlDoc.getElementsByTagName("Yourtagname")[0].getAttribute('YourAttributeInTag')

这是朋友们试用的一个测试小提琴。

http://jsfiddle.net/D2QpZ/