<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>xml &#8211; LPC影子技术分享</title>
	<atom:link href="https://www.mudbest.com/tag/xml/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.mudbest.com</link>
	<description>行影不离,忘之却步.</description>
	<lastBuildDate>Fri, 22 Feb 2013 03:33:10 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>
	<item>
		<title>PHP解析XML</title>
		<link>https://www.mudbest.com/php%e8%a7%a3%e6%9e%90xml%e7%9a%84%e5%a4%9a%e7%a7%8d%e6%80%9d%e8%b7%af/</link>
		
		<dc:creator><![CDATA[hkshadow]]></dc:creator>
		<pubDate>Fri, 22 Feb 2013 03:27:11 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[分享]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">http://www.mudbest.com/?p=1768</guid>

					<description><![CDATA[当数据接口返回一个xml数据的页面，如果想对其数据进行处理，那么第一步要做的就是解析里面的数据，将其取出后再由 ... <a title="PHP解析XML" class="read-more" href="https://www.mudbest.com/php%e8%a7%a3%e6%9e%90xml%e7%9a%84%e5%a4%9a%e7%a7%8d%e6%80%9d%e8%b7%af/" aria-label="阅读 PHP解析XML">阅读更多</a>]]></description>
										<content:encoded><![CDATA[<p>当数据接口返回一个xml数据的页面，如果想对其数据进行处理，那么第一步要做的就是解析里面的数据，将其取出后再由需求进行下一步处理。在php里有处理doc等类似的功能，其实xml也是一样，在这里直接用实例的方式简单应用以下。</p>
<p>xmlData：</p>
<pre class="brush: xml; title: ; notranslate">
&lt;DOCUMENT&gt;&lt;item&gt;&lt;startcity&gt;阿城&lt;/startcity&gt;&lt;stopcity&gt;鞍山&lt;/stopcity&gt;&lt;/item&gt;&lt;item&gt;&lt;startcity&gt;阿城&lt;/startcity&gt;&lt;stopcity&gt;八面通&lt;/stopcity&gt;&lt;/item&gt;&lt;item&gt;&lt;startcity&gt;阿城&lt;/startcity&gt;&lt;stopcity&gt;北安&lt;/stopcity&gt;&lt;/item&gt;&lt;item&gt;&lt;startcity&gt;阿城&lt;/startcity&gt;&lt;stopcity&gt;北戴河&lt;/stopcity&gt;&lt;/item&gt;&lt;item&gt;&lt;startcity&gt;阿城&lt;/startcity&gt;&lt;stopcity&gt;北京&lt;/stopcity&gt;&lt;/item&gt;
&lt;item&gt;&lt;startcity&gt;碧水&lt;/startcity&gt;&lt;stopcity&gt;富裕&lt;/stopcity&gt;&lt;/item&gt;&lt;/DOCUMENT&gt;
</pre>
<p><span id="more-1768"></span><br />
这时显示出来的xml数据，想要取得里面需要的时候，那么就必须要进行解析。</p>
<p>code：</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
//挂载xml处理类，并标识其版本
//Document 对象是一棵文档树的根，可为我们提供对文档数据的最初（或最顶层）的访问入口。
//用于元素节点、文本节点、注释、处理指令等均无法存在于 document 之外，document 对象同样提供了创建这些对象的方法。Node 对象提供了一个 ownerDocument 属性，此属性可把它们与在其中创建它们的 Document 关联起来。
$dom = new DOMDocument('1.0');
//加载xml数据
$dom-&gt;loadXML($xmlData);
//simplexml_import_dom() 函数把 DOM 节点转换为 SimpleXMLElement 对象。
//如果失败，则该函数返回 false。
$xml = simplexml_import_dom($dom);
?&gt;
</pre>
<p>如果要取得每一个item节点的数据：<br />
code:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
foreach ($xml as $key=&gt;$value){
echo &quot;&lt;pre&gt;&quot;;
print_r($value);
echo &quot;&lt;/pre&gt;&quot;;
}
?&gt;
</pre>
<p>打印结果如下：</p>
<pre class="brush: plain; title: ; notranslate">
SimpleXMLElement Object
(
    &#x5B;startcity] =&gt; 阿城
    &#x5B;stopcity] =&gt; 鞍山
)

SimpleXMLElement Object
(
    &#x5B;startcity] =&gt; 阿城
    &#x5B;stopcity] =&gt; 八面通
)

SimpleXMLElement Object
(
    &#x5B;startcity] =&gt; 阿城
    &#x5B;stopcity] =&gt; 北安
)
......
</pre>
<p>如果只想取得startcity。<br />
code:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
foreach ($xml as $key=&gt;$value){
echo &quot;&lt;pre&gt;&quot;;
print_r($value-&gt;stopcity);
echo &quot;&lt;/pre&gt;&quot;;
}
?&gt;
</pre>
<p>小知识补充：</p>
<p><em>IE:</em> Internet Explorer, <em>F:</em> Firefox, <em>O:</em> Opera, <em>W3C:</em> 万维网联盟 (因特网标准)</p>
<h2>Document 对象的属性</h2>
<table>
<tbody>
<tr>
<th>属性</th>
<th>描述</th>
<th>IE</th>
<th>F</th>
<th>O</th>
<th>W3C</th>
</tr>
<tr>
<td>async</td>
<td>规定 XML 文件的下载是否应当被同步处理。</td>
<td>5</td>
<td>1.5</td>
<td>9</td>
<td>No</td>
</tr>
<tr>
<td>childNodes</td>
<td>返回属于文档的子节点的节点列表。</td>
<td>5</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>doctype</td>
<td>返回与文档相关的文档类型声明 (DTD)。</td>
<td>6</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>documentElement</td>
<td>返回文档的根节点</td>
<td>5</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>documentURI</td>
<td>设置或返回文档的位置</td>
<td>No</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>domConfig</td>
<td>返回normalizeDocument()被调用时所使用的配置</td>
<td></td>
<td></td>
<td>No</td>
<td>Yes</td>
</tr>
<tr>
<td>firstChild</td>
<td>返回文档的首个子节点</td>
<td>5</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>implementation</td>
<td>返回处理该文档的 DOMImplementation 对象。</td>
<td>No</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>inputEncoding</td>
<td>返回用于文档的编码方式（在解析时）。</td>
<td>No</td>
<td>1</td>
<td>No</td>
<td>Yes</td>
</tr>
<tr>
<td>lastChild</td>
<td>返回文档的最后一个子节点。</td>
<td>5</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>nodeName</td>
<td>依据节点的类型返回其名称。</td>
<td>5</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>nodeType</td>
<td>返回节点的节点类型。</td>
<td>5</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>nodeValue</td>
<td>根据节点的类型来设置或返回节点的值。</td>
<td>5</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>strictErrorChecking</td>
<td>设置或返回是否强制进行错误检查。</td>
<td>No</td>
<td>1</td>
<td>No</td>
<td>Yes</td>
</tr>
<tr>
<td>text</td>
<td>返回节点及其后代的文本（仅用于 IE）。</td>
<td>5</td>
<td>No</td>
<td>No</td>
<td>No</td>
</tr>
<tr>
<td>xml</td>
<td>返回节点及其后代的 XML（仅用于 IE）。</td>
<td>5</td>
<td>No</td>
<td>No</td>
<td>No</td>
</tr>
<tr>
<td>xmlEncoding</td>
<td>返回文档的编码方法。</td>
<td>No</td>
<td>1</td>
<td>No</td>
<td>Yes</td>
</tr>
<tr>
<td>xmlStandalone</td>
<td>设置或返回文档是否为 standalone。</td>
<td>No</td>
<td>1</td>
<td>No</td>
<td>Yes</td>
</tr>
<tr>
<td>xmlVersion</td>
<td>设置或返回文档的 XML 版本。</td>
<td>No</td>
<td>1</td>
<td>No</td>
<td>Yes</td>
</tr>
</tbody>
</table>
<h2>Document 对象的方法</h2>
<table>
<tbody>
<tr>
<th>属性</th>
<th>描述</th>
<th>IE</th>
<th>F</th>
<th>O</th>
<th>W3C</th>
</tr>
<tr>
<td>adoptNode(sourcenode)</td>
<td>从另一个文档向本文档选定一个节点，然后返回被选节点。</td>
<td></td>
<td></td>
<td>No</td>
<td>Yes</td>
</tr>
<tr>
<td>createAttribute(name)</td>
<td>创建拥有指定名称的属性节点，并返回新的 Attr 对象。</td>
<td>6</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>createAttributeNS(uri,name)</td>
<td>创建拥有指定名称和命名空间的属性节点，并返回新的 Attr 对象。</td>
<td></td>
<td></td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>createCDATASection()</td>
<td>创建 CDATA 区段节点。</td>
<td>5</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>createComment()</td>
<td>创建注释节点。</td>
<td>6</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>createDocumentFragment()</td>
<td>创建空的 DocumentFragment 对象，并返回此对象。</td>
<td>5</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>createElement()</td>
<td>创建元素节点。</td>
<td>5</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>createElementNS()</td>
<td>创建带有指定命名空间的元素节点。</td>
<td>No</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>createEvent()</td>
<td>创建新的 Event 对象。</td>
<td></td>
<td></td>
<td></td>
<td>Yes</td>
</tr>
<tr>
<td>createEntityReference(name)</td>
<td>创建 EntityReference 对象，并返回此对象。</td>
<td>5</td>
<td></td>
<td>No</td>
<td>Yes</td>
</tr>
<tr>
<td>createExpression()</td>
<td>创建一个XPath表达式以供稍后计算。</td>
<td></td>
<td></td>
<td></td>
<td>Yes</td>
</tr>
<tr>
<td>createProcessingInstruction()</td>
<td>创建 ProcessingInstruction 对象，并返回此对象。</td>
<td>5</td>
<td></td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>createRange()</td>
<td>创建 Range 对象，并返回此对象。</td>
<td>No</td>
<td></td>
<td></td>
<td>Yes</td>
</tr>
<tr>
<td>evaluate()</td>
<td>计算一个 XPath 表达式。</td>
<td>No</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>createTextNode()</td>
<td>创建文本节点。</td>
<td>5</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>getElementById()</td>
<td>查找具有指定的唯一 ID 的元素。</td>
<td>5</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>getElementsByTagName()</td>
<td>返回所有具有指定名称的元素节点。</td>
<td>5</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>getElementsByTagNameNS()</td>
<td>返回所有具有指定名称和命名空间的元素节点。</td>
<td>No</td>
<td>1</td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>importNode()</td>
<td>把一个节点从另一个文档复制到该文档以便应用。</td>
<td></td>
<td></td>
<td>9</td>
<td>Yes</td>
</tr>
<tr>
<td>loadXML()</td>
<td>通过解析XML标签字符串来组成文档。</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>normalizeDocument()</td>
<td></td>
<td></td>
<td></td>
<td>No</td>
<td>Yes</td>
</tr>
<tr>
<td>renameNode()</td>
<td>重命名元素或者属性节点。</td>
<td></td>
<td></td>
<td>No</td>
<td>Yes</td>
</tr>
</tbody>
</table>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>php与xml</title>
		<link>https://www.mudbest.com/php%e4%b8%8exml/</link>
		
		<dc:creator><![CDATA[hkshadow]]></dc:creator>
		<pubDate>Mon, 29 Aug 2011 03:38:34 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">http://www.mudbest.com/?p=784</guid>

					<description><![CDATA[xml部分代码 &#60;?xml version=&#34;1.0&#34; encoding=&#038;quot ... <a title="php与xml" class="read-more" href="https://www.mudbest.com/php%e4%b8%8exml/" aria-label="阅读 php与xml">阅读更多</a>]]></description>
										<content:encoded><![CDATA[<p>xml部分代码</p>
<pre class="brush: php; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;data year=&quot;2011年&quot;&gt;
&lt;sub date=&quot;08月29日&quot; week=&quot;星期一&quot; id=&quot;第23期&quot; name=&quot;23&quot; str=&quot;12312&quot;/&gt;
&lt;/data&gt;
</pre>
<p>循环它的时候，发现直接用file_get_contents无法读取出来数据，需要与simplexml_load_string配合使用，才能打印出数据。</p>
<p>代码如下：<span id="more-784"></span></p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
$configs = file_get_contents($files);
$xml = simplexml_load_string($configs);
print_r($xml);
$array = array();
foreach($xml-&gt;sub&#x5B;0]-&gt;attributes() as $k =&gt; $v) {
	$array&#x5B;'sub']&#x5B;$k] = strval($v);
}	
?&gt;
</pre>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
