【发布时间】:2011-04-23 00:55:25
【问题描述】:
我正在尝试解析在 PHP 中从模板生成的 XML (在 Objective-C 中) 文件,如下所示。
我已尝试使用标准 XML 解析器对其进行解析,但似乎无法加载。
解析这个 PHP XML 生成文件的最佳方法是什么?也许是第 3 方库?
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:pbu="http://www.something.com/something.xsd" xmlns="http://www.something.com/something.xsd" elementFormDefault="qualified" targetNamespace="http://www.something.com/something.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="app">
<xs:complexType>
<xs:sequence>
<xs:element name="bannerImg" type="xs:anyURI" minOccurs="1" maxOccurs="1" />
<xs:element name="category" minOccurs="1" maxOccurs="25">
<xs:complexType>
<xs:sequence>
<xs:element name="image" minOccurs="1" maxOccurs="40">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="thumbUrl" type="xs:anyURI" minOccurs="1" maxOccurs="1" />
<xs:element name="sampleUrl" type="xs:anyURI" minOccurs="0" maxOccurs="1" />
<xs:element name="imageUrl" type="xs:anyURI" minOccurs="1" maxOccurs="1" />
<xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1" />
<xs:element name="infoUrl" type="xs:anyURI" minOccurs="0" maxOccurs="1" />
<xs:element name="license" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="licenseUrl" type="xs:anyURI" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="icon" type="xs:anyURI" use="required" />
<xs:attribute name="unlock_product_id" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="unlock_product_id" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:schema>
【问题讨论】:
-
您声称您拥有一个有效的 XML 文件。然后任何工具(Internet Explorer)都应该能够加载它;不管你是怎么得到的。你确定它有效吗?
-
嗯,就是这样,它不像 Safari 中的普通提要那样加载。
-
根据不充分的证据,听起来您的文件不合法。不过,您对实际的投诉非常模糊。我会检查你的 PHP 生成器;它可能不像声称的那样有效。
-
您的 XML 格式正确,但我无法断言内容是否正确。您能否告诉我们您遇到的错误或问题?任何 XML 解析器都应该能够使用此文件。 “它似乎没有加载”不是一个足够好的错误消息,我们无法实际提供有用的帮助。
-
离题了,但是 JSON 真的很好。 =)
标签: php objective-c xml parsing xsd