2011-03-03 52 views
0
<TBODY> 
<TR> 
<TD colSpan=4>Detail of your Trip</TD></TR> 
<TR></TR> 
    <TR> 
    <TD colSpan=4>Booking Ref. : XXX</TD></TR> 
    <TR></TR> 
    <TR> 
    <TD>Client</TD> 
    <TD colSpan=2>Ticket Number</TD> 
    <TD>FOID</TD></TR> 
    <TR> 
    <TD>Person (ADT)</TD> 
    <TD colSpan=2>000000</TD> 
    <TD>XXXX</TD></TR> 
    <TR></TR> 
    <TR> 
    <TD>From: Location 1</TD> 
    <TD>To : Location 2</TD> 
    <TD colSpan=2>Flight : LLL</TD></TR> 
    <TR> 
    <TD colSpan=2></TD> 
    <TD colSpan=2>Departure : 14Aug, 15:55 Latest check-in time limit : 15:25 </TD></TR> 
    <TR> 
    <TD colSpan=2></TD> 
    <TD colSpan=2>Arrival : 17:25</TD></TR> 
    <TR> 
    <TD colSpan=2></TD> 
    <TD colSpan=2>Class N</TD></TR> 
    <TR> 
    <TD>From : Location 2</TD> 
    <TD>To :Location1</TD> 
    <TD colSpan=2>Flight : AF2585 Resa : OK</TD></TR> 
    <TR> 
    <TD colSpan=2></TD> 
    <TD colSpan=2>Departure : "Time" Latest check-in time limit : "Time" </TD></TR> 
    <TR> 
    <TD colSpan=2></TD> 
    <TR> 
    <TD colSpan=2></TD> 

我想解析这个HTML和得到这样的旅行者name..trip日期解析HTML来创建一个XML

细节和创建XML。

回答

1

我对HTMLCleaner有一些很好的经验(http://htmlcleaner.sourceforge.net/javause.php)。 它很简单,并创建格式良好的XML。

+0

HtmlCleaner cleaner = new HtmlCleaner(); CleanerProperties props = cleaner.getProperties(); props.setTranslateSpecialEntities(true);现在你认为字符串数据是否包含清理过的XML? props.setTransResCharsToNCR(true); props.setOmitComments(true); //解析 TagNode tagNode; tagNode = new HtmlCleaner(props).clean(emailContent); String data = tagNode.toString(); – 2011-03-03 15:03:27

+2

我这样做得到它作为字符串︰final HtmlCleaner cleaner = new HtmlCleaner(); String result = new SimpleXmlSerializer(cleaner.getProperties())。getXmlAsString(cleaner.clean(parseString)); – Don 2011-03-03 16:08:37

+1

使用XPath的更好的例子可以在这里找到(http://thinkandroid.wordpress.com/2010/01/05/using-xpath-and-html-cleaner-to-parse-html-xml/) – Don 2011-03-03 16:13:25

1

由于XSLT是某种圣杯,它解决了几乎所有问题,我建议您使用“Html Tidy”或使用可将HTML转换为xhtml并使用XSLT提取数据的Java库来获取HTML到xhtml你想使用。