我已经尝试了很多小时,并在Google上浏览了所有可能的示例,但是我不知道如何在Android上使用simplexml从此XML文件中获取属性。
XML文件:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Service>
<Facture FactNo=""
NoAppel="6"
ProjDate="2012-04-01"
NomProj="MR. H. BLOOM"
AddProj="20, GARDEN ROAD"
VilleProj="WESTMOUNT, QC."
CPProj="" ContProj="M. BLOOM"
TelProj="(555) 555-9571"
SysMarque=""
SysMod=""
SysType=""
SysSerie=""
SysNo=""
SysTemp=""
Tension=""
Phase="0"
Halo="False"
POFact=""
NomFact=""
AdrsFact=""
VilleFact=""
CPFact=""
TelFact=""
FaxFact=""
Trouble=""
TbLock="False"
TDesc=""
TRec=""
Depl="False"
TM="False"
NoTM=""
TPA="False"
NoTPA=""
CS="False"
NoCS=""
Estim="False"
NoEstim=""
Proj="False"
NoProj=""
Term="True"
Incompl="False"
Garant="False"
NoGarant=""
Annexe="False"
NoAnnexe=""
NoContrat="00007"
MainDoeuvre="0,0000"
Materiel="0,0000"
SousTot=""
TPS="0,0000"
TPSTaux="0.05"
TVQ="0,0000"
TVQTaux="0.085"
Total="0,0000" />
<Pieces>
<Piece Qty="10" Desc="test" PO="12345678" PrixUnit="0.0000" Montant="0.0000" />
<Piece Qty="25" Desc="testitem2" PO="33333" PrixUnit="22.0000" Montant="220.0000" />
<Piece Qty="35" Desc="testitem3" PO="44444" PrixUnit="33.0000" Montant="440.0000" />
</Pieces>
<Techs>
<Tech Nom="Bobby" Reg="1" TD="2" Taux="3.5000" Montant="0.0000" Lock="False" Date="2012-04-01
10:49:00" />
</Techs>
<Sign />
<Pics />
</Service>
XML文件是第三方的,所以我无法修改它。
服务等级(仅显示件):
//Liste Pieces
@ElementList(name="Piece", inline=true)
@Path("Pieces")
private List<PieceXML> pieces;
public List<PieceXML> getpieces()
{
return pieces;
}
件类:
@Root(name="Piece")
public class PieceXML
{
@Attribute
private Double Qty;
@Attribute
private String Desc;
@Attribute
private String PO;
@Attribute
private Double PrixUnit;
@Attribute
private Double Montant;
...}
我实际需要的是从 Piece 中的属性值构建一个数组,但真的不知道该怎么做。 任何帮助将不胜感激。 提前谢谢。
好的,终于让我自己工作了。 发现这很简单。 我一直拥有它,但无法让它工作,因为我遇到了与我的应用程序的现有类完全相同的节点问题,这导致在读取返回的对象列表时获得空值。 在这种情况下,我不得不使用
@Path(pathname)
使用完整路径调用,即
@Path("Service/Pieces").
然后我可以得到我的
List<PieceXML>
对象并填充我的数组列表。