xml新手啊 急死了 不会!

学习ing 2010-06-18 01:00:38
<?xml version="1.0" encoding="gb2312" ?>
<rss version="2.0">
- <channel>
<title>求医问药最新50篇文章</title>
<link>http://www.39kf.com/</link>
<description>医源世界</description>
- <item>
<title>卫生部提醒:血液使用有风险能不输血就不输</title>
<link>http://www.39kf.com/treatment/manual/Medical-knowledge/2010-05-07-653544.shtml</link>
+ <description>
- <![CDATA[
<p>  法制日报北京4月13日讯记者郭晓宇卫生部医政司副司长赵明钢今天呼吁公众要树立正确的用血观念,能不输血的时候就不要输血。&ldquo;我们也一直在跟医务人员讲这个问题,一定要在输血的时候充分尊重群众的知情权和选择权,要充分告知使用血液的风险。</p>
<p>  法制日报北京4月13日讯记者郭晓宇卫生部医政司副司长赵明钢今天呼吁公众要树立正确的用血观念,能不输血的时候就不要输血。</p>
<p>  &ldquo;目前人类对于血液的认知仍然是十分有限的。&rdquo;赵明钢举例说,在1995年之前,献血时所筛查的项目没有包括HIV(人类免...

]]>
</description>
<category>求医问药</category>
<author />
<pubDate>2010-5-7 18:49:46</pubDate>
</item>

<item>
<title>桃红四物汤加味治心肌缺血验案</title>
<link>http://www.39kf.com/treatment/webclinique/yian/2010-05-01-652561.shtml</link>
- <description>
- <![CDATA[

<p><font color="#FFFFFF">中医人www.tcmer.com主要介绍桃红四物汤,心肌缺血,验案!</font></p>
<p><P>患者,邵某,男,52岁,2009年11月初诊。</P>
<P>患者自述阵发性胸闷,胸痛一年余,加重一周。一周前因劳累过度出现心悸、胸闷、发憋,心前区刺痛前来就诊,询问患者一年来一直服用丹参片、地奥心血康、消心痛等药物。因近期症状加重,又觉天天服药繁琐,特来要求服用中药以治其本。刻下症见:心悸气短,胸闷不适,心烦易怒,口唇紫暗,舌质淡暗有瘀斑,苔薄白,脉沉弦。心电图显示:心肌缺血。证属气血瘀滞,...

]]>
</description>
<category>求医问药</category>
<author>魏磊河北省保定市清苑县中医院</author>
<pubDate>2010-5-1 4:43:20</pubDate>
</item>
</channel>
</rss>


就这个XML


我写了个方法解析 但是得到的却都是空的不知道那里写错了 高手指点指点哦


public class ClientParameterMg {
private String xmlfile;
public ClientParameterMg(String XmlFile) {
this.xmlfile =XmlFile;
}

public List<KeywordBean> GetPDBList()
{
List<KeywordBean> KeywordList=new ArrayList<KeywordBean>();
URL url = null;

try {
url = new URL(xmlfile);
// File parameterXml=new File(xmlfile);

SAXReader saxReader = new SAXReader();
SAXReader reader = new SAXReader();
Document doc;


doc = reader.read(url);
List nodelist= doc.selectNodes("//channel");
Iterator iter=nodelist.iterator();
KeywordBean keybean=new KeywordBean();
while(iter.hasNext())
{
Element menuelement=(Element)iter.next();
String keyname=menuelement.attributeValue("title");
keybean.setKeywordName(keyname);

String keylink=menuelement.attributeValue("link");
keybean.setKeywordLink(keylink);

String keycount=menuelement.attributeValue("description");
keybean.setKeywordCount(keycount);
}
KeywordList.add(keybean);
}
catch (Exception e2)
{
e2.printStackTrace();
return null;
}
return KeywordList;
}


}
...全文
93 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
学习ing 2010-06-18
  • 打赏
  • 举报
回复
非常感谢! 受教了!
  • 打赏
  • 举报
回复
试试dr_lou的吧。也不说说什么错。我这里没ide。。。。。
yishui1 2010-06-18
  • 打赏
  • 举报
回复
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse(new File("c:\\book.xml"));

// normalize text redivsentation
doc.getDocumentElement().normalize();
System.out.println("Root element of the doc is "
+ doc.getDocumentElement().getNodeName());

NodeList listOfPersons = doc.getElementsByTagName("person");
int totalPersons = listOfPersons.getLength();
System.out.println("Total no of people : " + totalPersons);

for (int s = 0; s < listOfPersons.getLength(); s++) {

Node firstPersonNode = listOfPersons.item(s);
if (firstPersonNode.getNodeType() == Node.ELEMENT_NODE) {

Element firstPersonElement = (Element) firstPersonNode;

// -------
NodeList firstNameList = firstPersonElement
.getElementsByTagName("first");
Element firstNameElement = (Element) firstNameList.item(0);

NodeList textFNList = firstNameElement.getChildNodes();
System.out
.println("First Name : "
+ ((Node) textFNList.item(0))
.getNodeValue().trim());

// -------
NodeList lastNameList = firstPersonElement
.getElementsByTagName("last");
Element lastNameElement = (Element) lastNameList.item(0);

NodeList textLNList = lastNameElement.getChildNodes();
System.out
.println("Last Name : "
+ ((Node) textLNList.item(0))
.getNodeValue().trim());

// ----
NodeList ageList = firstPersonElement
.getElementsByTagName("age");
Element ageElement = (Element) ageList.item(0);

NodeList textAgeList = ageElement.getChildNodes();
System.out.println("Age : "
+ ((Node) textAgeList.item(0)).getNodeValue()
.trim());

// ------

}// end of if clause

}// end of for loop with s var

} catch (SAXParseException err) {
System.out.println("** Parsing error" + ", line "
+ err.getLineNumber() + ", uri " + err.getSystemId());
System.out.println(" " + err.getMessage());

} catch (SAXException e) {
Exception x = e.getException();
((x == null) ? e : x).printStackTrace();

} catch (Throwable t) {
t.printStackTrace();
}
dr_lou 2010-06-18
  • 打赏
  • 举报
回复
KeywordList.add(keybean);
位置不对也!
dr_lou 2010-06-18
  • 打赏
  • 举报
回复
package com.xuz.csdn.worldcup.day8;

import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class ClientParameterMg {
private String xmlfile;

public ClientParameterMg(String XmlFile) {
this.xmlfile = XmlFile;
}

public List<KeywordBean> GetPDBList() {
List<KeywordBean> KeywordList = new ArrayList<KeywordBean>();

try {
SAXReader reader = new SAXReader();
Document doc = reader.read(new File(xmlfile));
Element rssElement = doc.getRootElement();
Element channelElement = rssElement.element("channel");

KeywordBean keybean = new KeywordBean();
for (Iterator<?> iter = channelElement.elementIterator("item"); iter.hasNext();) {
Element menuelement = (Element) iter.next();
String keyname = menuelement.element("title").getText();
keybean.setKeywordName(keyname);

String keylink = menuelement.element("link").getText();
keybean.setKeywordLink(keylink);

String keycount = menuelement.element("description").getText();
keybean.setKeywordCount(keycount);

KeywordList.add(keybean);
}
} catch (Exception e2) {
e2.printStackTrace();
return null;
}
return KeywordList;
}

public static void main(String[] args){
List<KeywordBean> list = new ClientParameterMg("d:/1.xml").GetPDBList();
for (KeywordBean keywordBean : list) {
System.out.println(keywordBean.getKeywordName());
System.out.println(keywordBean.getKeywordLink());
System.out.println(keywordBean.getKeywordCount());
System.out.println();
}
}
}
dr_lou 2010-06-18
  • 打赏
  • 举报
回复
String keyname=menuelement.attributeValue("title");
title不是属性,是标签。
学习ing 2010-06-18
  • 打赏
  • 举报
回复
要沉了吗?80分没有人拿 ?
学习ing 2010-06-18
  • 打赏
  • 举报
回复
不应该是channel吗 但是这样也是得不到啊List nodelist= doc.selectNodes("//item");

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧