以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML源码及示例(仅原创和转载) 』  (http://bbs.xml.org.cn/list.asp?boardid=32)
----  请问这个xml格式正常吗?如果正常如何用jdom或xmlBean操作?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=32&rootid=&id=37943)


--  作者:hbfang
--  发布时间:9/15/2006 3:57:00 PM

--  请问这个xml格式正常吗?如果正常如何用jdom或xmlBean操作?
<?xml version="1.0"?>
<Root xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://DataSystem.MailboxReceive">
  <apptype xmlns="" />
  <unitid xmlns="">ORGA000165</unitid>
  <taskid xmlns="" />
  <taskuserid xmlns="">USER000212</taskuserid>
  <sendtime xmlns="">2006-08-16T08:16:18.8726199+08:00</sendtime>
  <appdata xmlns="">
    <CaseId>0000001371</CaseId>
    <CategoryID>GOVERNERBOX</CategoryID>
    <CaseSubject>建议立项修筑安徽安庆至浙江建德的铁路</CaseSubject>
    <CaseContent>建议立项修筑安徽安庆至浙江建德的铁路</CaseContent>
    <CreateDate>2006-08-03</CreateDate>
    <State>REPLY</State>
    <ReplyPassword>784fd00e</ReplyPassword>
    <IsSecret>False</IsSecret>
    <Name>程春生</Name>
    <Email>chunsheng201@2163.com</Email>
    <Address>浙江</Address>
    <Telephone>0577-88987738</Telephone>
    <Mobile>13057723275</Mobile>
    <AnswerContent>铁路建设不属交通厅职权范围,请转交有关部门处理</AnswerContent>
    <AnswerTime>0001-01-01</AnswerTime>
    <IsEffect>1</IsEffect>
  </appdata>
  <processinfo xmlns="">
    <HandleUnit />
    <HandleUser />
    <HandleMessage />
    <HandleTime>2006-08-16</HandleTime>
  </processinfo>
</Root>

上述所某政府部门发布的一个xml文件,要求下属单位来读取\修改最终回传给该政府部门
但我发现,这个xml文件格式好像不大对,我看到的xml文件都是有一个级根,再有另外一个二级根
但上述的这个xml文件只有一个一级根,我对xml很不熟悉,看了xmlBean和Jdom的例子,都是有一个一级根和一个二级根的,所以不知道如何处理,搞了很长时间都没有搞定,希望大家帮忙,谢谢!

尝试用jdom处理,结果如下:
Document doc = sb.build("d://060816_081621.xml");
Element root = doc.getRootElement();
String unitid= root.getAttributeValue("unitid");
就是空值
再则取appdata下的CaseSubject,用
String str1=root.getChild("appdata").getAttributeValue("CaseSubject");
也是空值

用xmlBean处理,结果如下:
String filename = "D://060816_081621.xml";
File xmlFile = new File(filename);
RootDocument doc = RootDocument.Factory.parse(xmlFile);
System.out.println(doc);
//居然能把整个xml文件打印出来
String unitid = doc.getRoot().getUnitid();
System.out.println(unitid);
//打印出null
String CaseSubject=doc.getRoot().getAppdata().getCaseSubject();
System.out.println(CaseSubject);
//直接报错


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.006ms