PHPを使用してXSDファイルの内容を抽出する必要があります。 XMLと照合して検証したくありません;私はちょうどいくつかのノードを取っていくつかの属性をチェックする必要があります。PHPを使用してXSDコンテンツを取得する
は、ここに私の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>
これが可能である場合、私は知らないので、私はただのStackOverflowの専門家に聞いていますのよ。
ありがとうございます!
PS:私はCodeIgniterを使用していますので、誰かが拡張子などを知っていれば、ここに投稿してください。
EDIT:問題解決済み!ここで
が私と同じ問題を持つ人を助けることができるリンクです:
http://www.php.net/manual/en/domdocument.load.php#57911
単に、誰かがXSDをナビゲートするDOMXPathを使うことの最大のクラスを使用(RIKは私に言ったように)のDOMDocumentクラスを使用する前に読んで。 XSDは空ではありませんでした。私はprint_r、var_dumpを試していて、ノードをエコーしましたが、明らかに古典的なXMLのような情報は含まれていませんでした。
ありがとうございます。私はこれをチェックしていますが、私のXSDはファイルではありません。 extern URLからロードされたリソースです(HttpRequestを使用しています)。 –
これは 'DOMDocument :: loadXML($ source)'の目的です。 ;-) – rik
申し訳ありません。申し訳ありません、私はこれを少し初心者です。この関数を使用すると、PHPは警告を生成し、my $ docは空です。しかし、IEで同じURLを開くと、XSD全体が表示されます。あなたはこのことについてどう思いますか?助言がありますか?おかげで再びrik :)編集: 'loadXML'の代わりに '負荷'を使用して私の問題を解決します。 –