【问题标题】:Parsing XML Schema with XML Parser in JavaScript在 JavaScript 中使用 XML Parser 解析 XML Schema
【发布时间】:2016-08-15 16:55:48
【问题描述】:

我有以下架构,我必须在其中找到列出的每个元素名称。

> <?xml version='1.0' encoding='UTF-8' ?> <xs:schema
> xmlns:xs='http://www.w3.org/2001/XMLSchema'>
> 
> 
> <xs:sequence> <xs:element name='name' type='xs:string'/> <xs:element
> name='address' type='xs:string'/> <xs:element name='city'
> type='xs:string'/> <xs:element name='country' type='xs:string'/>
> </xs:sequence>
> 
> </xs:schema>
  1. 姓名
  2. 街道
  3. 城市
  4. 状态
  5. 国家

我尝试使用此代码:

var app = angular.module('httpApp', []);

    app.controller('httpController', function ($scope, $http) {

        var xmlm="<?xml version='1.0' encoding='UTF-8' ?><xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'><xs:sequence><xs:element name='name' type='xs:string'/><xs:element name='address' type='xs:string'/><xs:element name='city' type='xs:string'/><xs:element name='country' type='xs:string'/></xs:sequence></xs:schema>";

                //var x2js = new X2JS();
                $scope.data=xmlm;
                //var aftCnv = x2js.xml_str2json(xmlm);

                //$scope.jsonic=aftCnv;

        xmlDoc = $.parseXML( xmlm ),
        $xml = $( xmlDoc ),
        $name = $xml.find( "xs:sequence" );
        $scope.data=$name.text();
        $( "#1" ).append( $name.text() );

我在控制台或输出上都没有收到错误。页面为空。

【问题讨论】:

    标签: javascript angularjs xsd xml-parsing


    【解决方案1】:

    你可以使用这个jQuery XML to JSON Plugin

    示例(带有您的 xml 字符串):

    <script type="text/javascript" src="https://code.jquery.com/jquery-2.2.3.min.js"></script>
    <script type="text/javascript" src="https://jquery-xml2json-plugin.googlecode.com/svn/trunk/jquery.xml2json.js"></script>
    <script type="text/javascript">
        $(function() {
    
            var 
                xmlm,
                json,
                elements;
    
            xmlm =
                "<?xml version='1.0' encoding='UTF-8' ?>" + 
                "<xs:schema" + 
                "   xmlns:xs='http://www.w3.org/2001/XMLSchema'>" + 
                "   <xs:sequence>" + 
                "       <xs:element name='name' type='xs:string'/>" + 
                "       <xs:element name='address' type='xs:string'/>" + 
                "       <xs:element name='city' type='xs:string'/>" + 
                "       <xs:element name='country' type='xs:string'/>" + 
                "   </xs:sequence>" + 
                "</xs:schema>";
    
            json = $.xml2json(xmlm);
            elements = json.sequence.element;
    
            for (var i in elements) {
    
              console.log(elements[i].name);
            }
        });
    </script>
    

    结果:

    名称
    地址
    城市
    国家

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-06
      • 2013-08-04
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多