php - 使用 PHP 获取 XSD 内容

标签 php xml codeigniter xsd

我需要使用 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>

我不知道这是否可行,所以我只是向 StackOverflow 方面的专家请教。

谢谢!

PS:我正在使用 CodeIgniter,所以如果有人知道任何扩展或类似的东西,请在此处发布。

编辑:问题已解决!

这里有一个链接可以帮助和我有同样问题的人:

http://www.php.net/manual/en/domdocument.load.php#57911

简单地说,有人在使用 DOMDocument 类之前使用 DOMXPath 类来浏览 XSD 读取(就像 rik 告诉我的那样)。 XSD 不是空的。我试图 print_r、var_dump 并回显节点,但显然没有像经典 XML 那样包含信息。

最佳答案

XSD 本身就是 XML。您可以像处理任何 XML 文件一样使用它。

$doc = new DOMDocument();
$doc->load('your.xsd');
// do whatever you want

关于php - 使用 PHP 获取 XSD 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4738590/

上一篇:java - 改进 XSLT 转换

下一篇:C# linq to xml

相关文章:

php - Youtube API - 从播放列表中获取视频的持续时间

php - 扫描已使用的用户名后将数据插入mysql

php - 如何构建需要特定 URL 查询参数的 Laravel 路由?

php - AJAX 间隔函数对服务器有害吗?

java - Android - 光标已弃用

php - 在 Windows 上安装 codeigniter sparks 管理器

php - Codeigniter 分组依据

xml - SoapUI 在模拟服务脚本中获取请求参数

javascript - IE9 拒绝处理 XML 响应

mysql - 获取值并在模式弹出窗口中更新而无需在 codeigniter 中刷新页面