Fra*_*ona 2 php xml xsd codeigniter
我需要使用PHP提取XSD文件的内容.我不想针对XML验证它 ; 我只需要取一些节点并检查一些属性.
这是我的XSD示例:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://www.opengis.net/gml" schemaLocation="somelocation.xsd" />
<xsd:complexType name="nameType">
<xsd:complexContent>
<xsd:extension base="gml:AbstractFeatureType">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="x" nillable="true" type="xsd:int" />
<xsd:element maxOccurs="1" minOccurs="0" name="y" nillable="true" type="xsd:int" />
<xsd:element maxOccurs="1" minOccurs="0" name="z" nillable="true" type="xsd:decimal" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="lz_anual_250" substitutionGroup="gml:_Feature" type="layerType" />
</xsd:schema>
Run Code Online (Sandbox Code Playgroud)
我不知道这是否可行,所以我只是向StackOverflow的专家询问.
谢谢!
PS:我正在使用CodeIgniter,所以如果有人知道任何扩展或类似的事情,请在这里发布.
编辑:问题解决了!
这是一个链接,可以帮助与我有同样问题的人:
http://www.php.net/manual/en/domdocument.load.php#57911
简单地说,有人使用DOMXPath类在使用DOMDocument类之前浏览XSD读取(就像rik告诉我的那样).XSD不是空的.我试图print_r,var_dump和回显节点,但显然没有包含像经典XML的信息.
XSD本身就是XML.您可以像使用任何XML文件一样使用它.
$doc = new DOMDocument();
$doc->load('your.xsd');
// do whatever you want
Run Code Online (Sandbox Code Playgroud)