【问题标题】:How can I select the content in one tag within another tag in XML file?如何在 XML 文件的另一个标签中选择一个标签中的内容?
【发布时间】:2013-01-11 00:56:10
【问题描述】:

页面是一个对象:

page= new function(img_data_url, src, pos_x, pos_y)
{
    this.ImgDataURL= img_data_url;
    this.src= src; 
    this.pos_x= pos_x;
    this.pos_y= pos_y;
}

我创建了一个XML 格式来记录它的详细信息。 在一个编辑的页面中,有几个“邮票”,我有几个“页面”。

    <Page pid= "0">
<ImgDataURL>asjdfklsadsadfasdf</ImgDataURL>
<Stamp> 
    <src src="../pic/XXX">
    <pos_x>123</pos_x>
    <pos_y>123</pos_y>
    </src>

    <src src="../pic/XXO">
    <pos_x>456</pos_x>
    <pos_y>123</pos_y>
    </src>      
</Stamp>    
</Page>
<Page pid= "1">
<ImgDataURL>asjdfklsadsadfasdf</ImgDataURL>
<Stamp> 
    <src src="../pic/XXX">
    <pos_x>123</pos_x>
    <pos_y>123</pos_y>
    </src>

    <src src="../pic/XXO">
    <pos_x>456</pos_x>
    <pos_y>123</pos_y>
    </src>      
</Stamp>    
</Page>
<Page pid= "2">
<ImgDataURL>asdfsdfasd</ImgDataURL>
<Stamp> 
    <src src="../pic/XXX">
    <pos_x>123</pos_x>
    <pos_y>123</pos_y>
    </src>

    <src src="../pic/XXO">
    <pos_x>456</pos_x>
    <pos_y>123</pos_y>
    </src>      
</Stamp>    
</Page>

我想在XML 文件中检索以下信息:ImgDataURL,src of Stamp,pos_x of Stamp,pos_y of Stamp,并将它们分配回对象。

但是在第一步中,我不知道如何使用 jQuery 通过属性:“pid”来选择 page
(Or should I have better alternative approaches instead of giving it an id?)

在第二个中,我该怎么做才能获取所有内容 邮票标签:srcposition等等……

决赛中:
Any well-designed alternative XML structure is acceptable.
毕竟,我的目的是将信息存储在文件中,然后将它们恢复到内存中。我希望操作可以尽可能简单。

【问题讨论】:

  • 有什么理由使用 xml 吗? json 会更直接
  • @mikakun 其实json对我来说很陌生...不过如果很方便的话,请贴出你的答案,谢谢!
  • 随身携带更轻便,访问json对象也更直接更快捷

标签: javascript jquery xml json


【解决方案1】:

您将 json 对象保存在 .json 文件中(如果您在服务器上使用 php,则可以使用 json_encode)

pages = {
 '0' : {

      'ImgDataURL' : 'whatever'
      ,Stamp       : {
            src : 'whatefcz'
            ,pos_x : 'cdscsdc'
              }

     },

    '1' : {

     'ImgDataURL' : 'whatever'
      ,Stamp       : {
            src : 'whatefcz'
            ,pos_x : 'cdscsdc'
              }

    },

    ...


  }

你可以直接在你的javascript中访问它

pages['0'].Stamp.src

您可以通过在脚本之前将其包含在脚本标记中来加载它,或者在 jquery 加载后使用 getJSON 调用服务器

【讨论】:

  • 你不能像那样访问数字键。你需要使用[]语法,比如pages.['0'].Stamp.src一定要引用它
  • 我使用 javascript。 html5 新特性。它可以访问文件系统。
猜你喜欢
  • 2010-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-17
  • 1970-01-01
  • 2012-06-17
  • 2020-03-09
  • 2017-05-04
相关资源
最近更新 更多