XULRunner with Java: JavaXPCOM Tutorial 3
6 ¼ÓÔØÒ³ÃæµÄW3C DOM·ÃÎÊ
6.1 mozdom4java¿â
·ÃÎÊW3C DOMÊ÷±È·ÃÎÊMozillaµÄDOMÊ÷ÒªºÃ£¬ÒòΪËüÊÇÒ»¸ö¶¯Ì¬·ÃÎÊHTMLºÍXMLµÄDOMÊ÷µÄ±ê×¼¡£ÎªÁËʵÏÖÕâ¸ö£¬ÎÒÃÇʹÓôÓMozilla
DOMµ½W3C DOMµÄjava Bridge¡£ÓÐÒ»¸ö½Ð×ömozdom4javaµÄÏîÄ¿http://mozdom4java.mozdev.org/index.html¡£
ÏÂÔØÕâ¸ö°üºó£¬ÎÒÃǰÑjar°ü·Åµ½classpathÀï¡£ÀýÈ磬ÎÒÃÇÔö¼ÓÒ»¸ö°´Å¥À´³éÈ¡HTMLÎĵµÀïµÄËùÓÐÁ´½Ó¡£
// When that button is pressed, then we obtain the HTML document corresponding to
// the URL loaded in browser. Next, we extract all its child nodes with 'a' tag name
// and print its content.
final ToolItem anchorItem = new ToolItem(toolbar, SWT.PUSH);
anchorItem.setImage(getImage("resources/anchors.png"));
anchorItem.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
// First, we obtain a Mozilla DOM Document representation
nsIDOMDocument doc = browser.getDocument();
// Get all anchors from the loaded HTML document
nsIDOMNodeList nodeList = doc.getElementsByTagName("a");
for ( int i = 0; i < nodeList.getLength(); i++ ){
// Get Mozilla DOM node
nsIDOMNode mozNode = nodeList.item(i);
// Get the appropiate interface
nsIDOMHTMLAnchorElement mozAnchor =
(nsIDOMHTMLAnchorElement) mozNode.queryInterface(
nsIDOMHTMLAnchorElement.NS_IDOMHTMLANCHORELEMENT_IID);
// Get the corresponding W3C DOM node
HTMLAnchorElement a = (HTMLAnchorElement)
HTMLAnchorElementImpl.getDOMInstance(mozAnchor);
Ïà¹ØÎĵµ£º
˵µ½OAϵͳ¾Í»áÏëµ½·¢²¼¹«¸æ¡¢ÉóÅúÎļþ¡¢Îļþ¹ÜÀíµÈµÈÕâЩ¹¦ÄÜ£¬£¬µ½ÁË¿ª·¢ÈËÔ±ÊÖÀï¾ÍÊÇ´æ´¢Êý¾Ý¡¢²éѯÊý¾Ý£¬ÍùÍù²»Í£µÄ×öÖØ¸´¹¤×÷£¬ÓÚÊǾÍÓÐÁËOA±íµ¥ÒýÇæµÄÉèÏëºÍ¹¹Ë¼¡£ÓÃjavascript¶¨Òå±íµ¥£¬ÓÃjavaÇý¶¯XML£¬×Ô¶¯´´½¨¡¢ÐÞ¸ÄÊý¾Ý¿â¡£ÊµÏÖ¶Ô±íµ¥µÄͼÐλ¯ÖÆ×÷£¬¼´Ê¹ÊǷǼ¼ÊõÈËÔ±Ò²¿ÉËæÒâÉè¼Æ³ö×Ô¼º¹¹ÏëµÄ±íµ¥¹¦ÄÜ¡£
JAVA³ÌÐ ......
Èç¹ûÄãÔø¾ÓùýPerl»òÈÎºÎÆäËûÄÚ½¨ÕýÔò±í´ïʽ֧³ÖµÄÓïÑÔ£¬ÄãÒ»¶¨ÖªµÀÓÃÕýÔò±í´ïʽ´¦ÀíÎı¾ºÍÆ¥ÅäģʽÊǶàô¼òµ¥¡£Èç¹ûÄã²»ÊìϤÕâ¸öÊõÓÄÇô“ÕýÔò±í´ïʽ”£¨Regular Expression£©¾ÍÊÇÒ»¸ö×Ö·û¹¹³ÉµÄ´®£¬Ëü¶¨ÒåÁËÒ»¸öÓÃÀ´ËÑË÷Æ¥Åä×Ö·û´®µÄģʽ¡£
Ðí¶àÓïÑÔ£¬°üÀ¨Perl¡¢PHP¡¢Python¡¢JavaScriptºÍJScript£¬¶¼Ö§ ......
package test;
public class TestFactory<T> {
private Class <T> cls;
public String testabc="";
pub ......
ÕâÆª½Ì³Ì¸üÐÂÓÚ2008ÄêÏÄÌ죬ÓÃÀ´¼¯³ÉSWTºÍXULRunnerÀ´ÔÚSWTÀïÏÔʾһ¸öä¯ÀÀÆ÷¡£ÒªÏë»ñµÃ¸ü¶àÐÅÏ¢£¬Çë²Î¿¼
http://www.eclipse.org/swt/faq.php#whatisbrowser
1£¬¼ò½é
ÕâÆª½Ì³ÌÓÐÁ½¸öÄ¿µÄ¡£Ê×ÏÈ£¬ÎÒÃÇÄÜѧµ½Ò»Ð©XPCOMµÄ¸ÅÄîºÍÔõôͨ¹ýJavaXPCOMÀ´ÔÚjavaÀïʹÓÃËü¡£Æä´Î£¬ÎÒÃÇѧµ½Ôõà ......