在Flex中解析XML文件的问题 [英] a question about parsing xml file in Flex

查看:217
本文介绍了在Flex中解析XML文件的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

现在我正面临着一个小项目,在这个项目中,我必须向用户展示一个绿色的桌子。但是,它比纯粹的桌面图像文件稍微复杂一些。让我把它分解一下:



1.在同一个文件夹中,有一个xml文件,格式如下:

 <约束> 
< element>
<名称>钙质< /名称>
< abbreviation> Ca< / abbreviation>
<排放>
<波长> 118< /波长>
< /排放>
<标准>
<浓度> 0.01< /浓度>
<浓度> 0.1< /浓度>
< / standards>
< / element>

基本上只是指定了哪些元素应该在peoridic表中突出显示。所以从这个xml文件读取,我们peoridic表应该通过使这些元素黄色和可点击,而留下他人灰色和不可点击反映,但只有名称属性是我所需要的。

2。其次,只需确保由xml文件指定的元素周期表元素能够被用户点击。



因为我对Flex编程来说有点新鲜,现在有两件事情最让我关注。首先是如何在FLEX中进行xml解析?我在C#中做了这个解析,但不知道如何做到这一点。
其次,我应该如何描述元素周期表?我应该使元素可点击。
第三,我应该如何让元素周期表知道从xml文件中解析出来的元素,也就是说,我应该在哪里存储这些提取的元素?

解析方案

解析XML解析在使用E4X的actionscript 3中非常简单,并且有点像。



HTH,
George

I am faced with a small project now,in which I have to present a peoridic table to the user.However,it is bit more complicated than just a pure peoridic table image file.Let me break it down a bit:

1.In the same folder,there is an xml file,which have the following format:

<constraints>
<element>
 <name>Calcium</name>
 <abbreviation>Ca</abbreviation>
 <emissions>
  <wavelength>118</wavelength>
 </emissions>
 <standards>
  <concentration>0.01</concentration>
  <concentration>0.1</concentration>
 </standards>
</element>

it basically just specifies what elements should be highlighted in the peoridic table.So after reading from this xml file,our peoridic table should be reflected by making these elements yellow and clickable while leaving others grey and not-clickable.But only the name attribute is what I needed.

2.Secondly,it just needs to make sure that the elements on the periodic table elements that have been specified by the xml file should be enabled for clicking by the user.

Since I am bit new to Flex programming,now two things concern me most.The first is how to do the xml parsing in FLEX?I did this parsing in C#,but have no idea how to do this. Secondly,how should I depict the periodic table?I should make elements clickable. Thirdly,how should I make the periodic table be aware of the elements that have been parsed out from the xml file,i.e,where should I store these extracted elements?

Sounds bit tough,I just need some ideas or maybe some code to help me start,thanks!

解决方案

XML parsing is pretty easy in actionscript 3 with E4X and somewhat similar to C#.

e.g.

var table:XML = <constraints>
<element>
 <name>Calcium</name>
 <abbreviation>Ca</abbreviation>
 <emissions>
  <wavelength>118</wavelength>
 </emissions>
 <standards>
  <concentration>0.01</concentration>
  <concentration>0.1</concentration>
 </standards>
</element>
</constraints>
trace(table.element.name);

Do checkout the E4X tutorial on the Yahoo Developer Network to get started easily. The rest should be easy enough.

For point 2 you should just loop through the element names and then enable their view/visual asset equivalent.

e.g.

for each (var element:XML in table.element.*) trace(element.name);//enable here instead of tracing

Update

I had a bit of fun with the great libspark SvgParser and the wikipedia periodic table svg. This is NOT how anyone should write code, this is just a quick and dirty test.

You can view the test here and the source here.

here's a preview:

Also displaying the C# version of parsing would help. And I found another great E4X article.

HTH, George

这篇关于在Flex中解析XML文件的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆