如何显示xml2json数据

时间:2015-01-19 16:37:11

标签: angularjs

我正在使用xml2json从medline转换xml文件。我坚持使用ng-repeat来显示我需要的信息。我需要显示标题,网址和看见参考。当我在xml文件中有一个健康主题时标题和网址显示正常。当我添加更多健康主题时,它不起作用。任何帮助表示赞赏,谢谢 plunkr

  <table>
    <tr ng-repeat="topic in topics">

        <td>{{topic._title}}</td>
        <td>{{topic._url}}</td>
        <td>{{topic.see-reference}}</td>
    </tr>
</table>

<pre>{{topics | json}}</pre>

1 个答案:

答案 0 :(得分:2)

XML的结构如下:

<health-topics total="1909" date-generated="01/03/2015 02:30:35">
  <health-topic title="Abdominal Pain">
  </health-topic>
  <health-topic title="Abdominal Pain">
  </health-topic>
  <health-topic title="Abdominal Pain">
  </health-topic>

xml2json为每个元素创建一个对象。对象的属性是元素的属性(以下划线开头)和子元素。在你的情况下:

//health-topics
{
  _total: "1909",
  _date-generated: "01/03/2015 02:30:35",
  health-topic: [
    {
      _title: Abdominal Pain"
    ...

health-topic是一个包含主题的数组。如果您使用health-topics包含一个主题,那么它将是:

    //health-topics
{
  _total: "1909",
  _date-generated: "01/03/2015 02:30:35",
  health-topic: {
      _title: Abdominal Pain"
    ...

health-topic现在是一个对象。但也许一个主题甚至不会被health-topics元素包裹起来。这只是你知道的事情。

总而言之,根据主题的数量,数据结构会有所不同。你需要检查并适应它。适用于多个主题的代码将是

$scope.topics = $scope.dom['health-topics']['health-topic']