我有HTML字符串值,我想從該HTML字符串值中獲取一個屬性(id)值 你能幫我怎麼做嗎?從java中的html代碼獲取屬性值
String msHTMLFile = "<ABBR class='HighlightClass' id='highlight40001' style=\"BACKGROUND-COLOR: yellow\" >Fetal/Neonatal Morbidity and Mortality</ABBR>";
結果應該來 - highlight40001;
我有HTML字符串值,我想從該HTML字符串值中獲取一個屬性(id)值 你能幫我怎麼做嗎?從java中的html代碼獲取屬性值
String msHTMLFile = "<ABBR class='HighlightClass' id='highlight40001' style=\"BACKGROUND-COLOR: yellow\" >Fetal/Neonatal Morbidity and Mortality</ABBR>";
結果應該來 - highlight40001;
嘗試使用此正則表達式模式:
\bid='([^']*)'
然後提取由組1所拍攝的串這不是萬無一失;使用正則表達式解析HTML永遠不會。您可以嘗試使正則表達式複雜化,使其更加靈活。或者你可以使用HTML解析器。我推薦後者。
再次,不推薦,但請參閱http://ideone.com/qUOMo上的示例 – polygenelubricants 2010-06-11 10:59:22
也不是那麼幹淨,但這應該適合你。 你可以把它當作XML和使用JAXB解析它:
ABBR.java:
import javax.xml.bind.annotation.XmlAttribute;
public class ABBR
{
@XmlAttribute public String id;
}
Main.java:
[..]
String msHTMLFile = "<ABBR class='HighlightClass' id='highlight40001' style=\"BACKGROUND-COLOR: yellow\" >Fetal/Neonatal Morbidity and Mortality</ABBR>";
ABBR obj = JAXB.unmarshal(new StringReader(msHTMLFile), ABBR.class);
System.out.println(obj.id);
[..]
如果你夠幸運,你的HTML源產生XML兼容的HTML,JAXB或其他XML解析器都可以。很多人沒有編寫特別格式良好的HTML(未封閉的標籤等),雖然我的一些同事已經使用HotSAX解析HTML的好結果:http://sourceforge.net/projects/hotsax/
這是什麼? Servlet,JSP,Applet?提供更多相關信息 – Bozho 2010-06-11 10:51:11