我希望它显示类似
的内容概念类型关系类型显示节点和子元素的XML文件中的代码
我可以将它显示在表格中的数组中,但我不知道如何以xml格式显示它,因此更容易阅读。
我的php文件是
<?php
#error_reporting(0);
#header("Content-type: text/xml");
$get = ('Human.cogxml');
$cogxml = simplexml_load_file($get);
$data = $cogxml->support->conceptTypes->ctype;
$datas = $cogxml->support->relationTypes->rtype;
?>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<table border="2">
<tr>
<th>Concept Name</th>
<th>Relation Type</th>
<th>CoGui XML</th>
</tr>
<?php
foreach ($data as $row) {
?>
<tr>
<td>
<?php echo $row['label']; ?>
</td>
<?php
foreach ($datas as $row2) {
?>
<td>
<?php echo $row2['label']; ?>
</td>
<td>
<?php
header('Content-type text/xml');
#dom->preserveWhiteSpace = false;
$file = file_get_contents('http://data.fcc.gov/api/license-view/basicSearch/getLicenses?searchValue=Verizon+Wireless');
$movies = new SimpleXMLElement($file);
echo '<pre>';
print_r($movies);
echo '<pre>';
# echo $dom->XML();
?>
</td>
</tr>
<?php
}
}
?>
</table>
</body>
</html>
我的xml文件是
<cogxml>
<namespace name="http://www.lirmm.fr/cogui#" prefix=""/>
<support name="vocabulary">
<conceptTypes>
<ctype id="http://www.lirmm.fr/cogui#_ct_5f3287f9-fb7b-47c2-84b0-e25694b29841" label="Human" x="10" y="10">
<translation descr="" label="Human" lang="en"/>
</ctype>
<ctype id="http://www.lirmm.fr/cogui#ct_ef8dc30a-fc37-48fa-80f3-4588e4d101d2" label="Adult" x="120" y="10">
<translation descr="" label="Adult" lang="en"/>
</ctype>
<ctype id="http://www.lirmm.fr/cogui#ct_1b5b2797-a707-4758-a200-6e9bef2f13b9" label="Female" x="90" y="110">
<translation descr="" label="Female" lang="en"/>
</ctype>
<ctype id="http://www.lirmm.fr/cogui#ct_be05db54-5043-488c-a08b-3bb643cf0f78" label="Child" x="130" y="60">
<translation descr="" label="Child" lang="en"/>
</ctype>
<ctype id="http://www.lirmm.fr/cogui#ct_8a7f45ec-0204-4c73-921b-781d87327ba0" label="Girl" x="170" y="220">
<translation descr="" label="Girl" lang="en"/>
</ctype>
<ctype id="http://www.lirmm.fr/cogui#ct_199f3367-213f-4139-8ad4-fe2f4e4874e7" label="Woman" x="235" y="130">
<translation descr="" label="Woman" lang="en"/>
</ctype>
<order id1="http://www.lirmm.fr/cogui#ct_ef8dc30a-fc37-48fa-80f3-4588e4d101d2" id2="http://www.lirmm.fr/cogui#_ct_5f3287f9-fb7b-47c2-84b0-e25694b29841"/>
<order id1="http://www.lirmm.fr/cogui#ct_1b5b2797-a707-4758-a200-6e9bef2f13b9" id2="http://www.lirmm.fr/cogui#_ct_5f3287f9-fb7b-47c2-84b0-e25694b29841"/>
<order id1="http://www.lirmm.fr/cogui#ct_be05db54-5043-488c-a08b-3bb643cf0f78" id2="http://www.lirmm.fr/cogui#_ct_5f3287f9-fb7b-47c2-84b0-e25694b29841"/>
<order id1="http://www.lirmm.fr/cogui#ct_8a7f45ec-0204-4c73-921b-781d87327ba0" id2="http://www.lirmm.fr/cogui#ct_1b5b2797-a707-4758-a200-6e9bef2f13b9"/>
<order id1="http://www.lirmm.fr/cogui#ct_199f3367-213f-4139-8ad4-fe2f4e4874e7" id2="http://www.lirmm.fr/cogui#ct_1b5b2797-a707-4758-a200-6e9bef2f13b9"/>
<order id1="http://www.lirmm.fr/cogui#ct_8a7f45ec-0204-4c73-921b-781d87327ba0" id2="http://www.lirmm.fr/cogui#ct_be05db54-5043-488c-a08b-3bb643cf0f78"/>
<order id1="http://www.lirmm.fr/cogui#ct_199f3367-213f-4139-8ad4-fe2f4e4874e7" id2="http://www.lirmm.fr/cogui#ct_ef8dc30a-fc37-48fa-80f3-4588e4d101d2"/>
</conceptTypes>
<relationTypes>
<rtype id="http://www.lirmm.fr/cogui#_rt_336363f1-0068-48d1-b1de-93ae264e4f49" idSignature="http://www.lirmm.fr/cogui#_ct_5f3287f9-fb7b-47c2-84b0-e25694b29841 http://www.lirmm.fr/cogui#_ct_5f3287f9-fb7b-47c2-84b0-e25694b29841" label="Link">
<translation descr="" label="Link" lang="en"/>
</rtype>
</relationTypes>
<nestingTypes>
<ntype id="http://www.lirmm.fr/cogui#_nt_23d8104c-fbe5-4228-895f-074faa673d74" label="Nesting">
<translation descr="" label="Nesting" lang="en"/>
</ntype>
</nestingTypes>
<conformity/>
<modules/>
</support>
<localeTypes name="undefined_vocabulary">
<conceptTypes/>
<relationTypes/>
<nestingTypes/>
<conformity/>
<modules/>
</localeTypes>
<graph id="_g1" label="_g1" nature="fact" set="default_set"/>
</cogxml>
答案 0 :(得分:3)
默认情况下,SimpleXMLElement()需要字符串,而不是URL或文件路径。具体而言,data_is_url
参数设置为False
。因此,如果从文件中读取,则显式传递True
值:
$movies = new SimpleXMLElement($file, 0, true);
但如果从网址上阅读,则无需file_get_contents()
:
$movies = new SimpleXMLElement('http://data.fcc.gov/api/license-view/basicSearch/getLicenses?searchValue=Verizon+Wireless', NULL, True);
此外,print_f($movies)
转储SimpleXMLElement对象的结构,这对用户来说可能不太直观。考虑使用asxml()
或saveXML()
按原样输出XML内容:
echo $movies -> asXML();
OR
echo $movies -> saveXML();