【问题标题】:Parse a PHP generated (from .xsd template) XML file解析 PHP 生成的(从 .xsd 模板)XML 文件
【发布时间】: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


【解决方案1】:

几个月前我不得不解析一个相等的结构。我没有尝试使用 xml 解析器。我用TBXML 做到了。如果您知道 XML 文件的结构,那就太好了。它确实有据可查。 ;-)

桑德罗·迈耶

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 2018-06-30
    • 2011-08-28
    • 2012-06-18
    • 2015-11-05
    • 2011-09-25
    相关资源
    最近更新 更多