HTML中<o:p>是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTML中<o:p>是啥意思?相关的知识,希望对你有一定的参考价值。

html中是什么意思?HTML中是什么意思?

楼上的都说得很对,这些都是一些符号。想了解更多这些符号可以在Dreamweaver等编辑软件上的<body>……</body>之间按下shift+7就会自动生成一个自助器供你选择更多的符号。当然,最常用的一个就是 其他的都没什么作用,只是要来弄弄一些特殊字符来凸显个性。 参考技术A 一些特殊符号在HTML中无法直接输出,所以要用一些转意代码来表达!这些代码在网页中会显示成符号! 参考技术B 转义字符,<表示 左尖括号 <
>表示右尖括号 >
参考技术C 这些都是HTML中的实体.
& 浏览器输出 &
< 浏览器输出 <
> 浏览器输出 >

如何在 Java 中解析 HTML 字符串?

【中文标题】如何在 Java 中解析 HTML 字符串?【英文标题】:How can I parse a HTML string in Java? 【发布时间】:2010-12-02 15:32:12 【问题描述】:

给定字符串"&lt;table&gt;&lt;tr&gt;&lt;td&gt;Hello World!&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;",获取代表它的DOM 元素的(最简单)方法是什么?

【问题讨论】:

【参考方案1】:

可以使用一些 javax.swing.text.html 实用程序类来解析 HTML。

import java.io.IOException;
import java.io.StringReader;
import javax.swing.text.html.HTMLDocument;
import javax.swing.text.html.HTMLEditorKit;
import javax.swing.text.html.parser.ParserDelegator;
//...
try 
    String htmlString = "<html><head><title>Example Title</title></head><body>Some text...</body></html>";
    HTMLEditorKit htmlEditKit = new HTMLEditorKit();
    HTMLDocument htmlDocument = (HTMLDocument) htmlEditKit.createDefaultDocument();
    HTMLEditorKit.Parser parser = new ParserDelegator();
    parser.parse(new StringReader(htmlString),
            htmlDocument.getReader(0), true);
    // Use HTMLDocument here
    System.out.println(htmlDocument.getProperty("title")); // Example Title
 catch(IOException e)
    //Handle
    e.printStackTrace();

见:

HTMLDocument HTMLEditorKit

【讨论】:

【参考方案2】:

如果你有一个包含 HTML 的字符串,你可以使用 Jsoup 这样的库来获取 HTML 元素:

String htmlTable= "<table><tr><td>Hello World!</td></tr></table>";
Document doc = Jsoup.parse(htmlTable);

// then use something like this to get your element:
Elements tds = doc.getElementsByTag("td");

// tds will contain this one element: <td>Hello World!</td>

祝你好运!

【讨论】:

【参考方案3】:

我在某个地方找到了这个(不记得在哪里):

 public static DocumentFragment parseXml(Document doc, String fragment)
 
    // Wrap the fragment in an arbitrary element.
    fragment = "<fragment>"+fragment+"</fragment>";
    try
    
        // Create a DOM builder and parse the fragment.
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        Document d = factory.newDocumentBuilder().parse(
                new InputSource(new StringReader(fragment)));

        // Import the nodes of the new document into doc so that they
        // will be compatible with doc.
        Node node = doc.importNode(d.getDocumentElement(), true);

        // Create the document fragment node to hold the new nodes.
        DocumentFragment docfrag = doc.createDocumentFragment();

        // Move the nodes into the fragment.
        while (node.hasChildNodes())
        
            docfrag.appendChild(node.removeChild(node.getFirstChild()));
        
        // Return the fragment.
        return docfrag;
    
    catch (SAXException e)
    
        // A parsing error occurred; the XML input is not valid.
    
    catch (ParserConfigurationException e)
    
    
    catch (IOException e)
    
    
    return null;

【讨论】:

【参考方案4】:

这是一种方法:

import java.io.*;
import javax.swing.text.*;
import javax.swing.text.html.*;
import javax.swing.text.html.parser.*;

public class HtmlParseDemo 
   public static void main(String [] args) throws Exception 
       Reader reader = new StringReader("<table><tr><td>Hello</td><td>World!</td></tr></table>");
       HTMLEditorKit.Parser parser = new ParserDelegator();
       parser.parse(reader, new HTMLTableParser(), true);
       reader.close();
   


class HTMLTableParser extends HTMLEditorKit.ParserCallback 

    private boolean encounteredATableRow = false;

    public void handleText(char[] data, int pos) 
        if(encounteredATableRow) System.out.println(new String(data));
    

    public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos) 
        if(t == HTML.Tag.TR) encounteredATableRow = true;
    

    public void handleEndTag(HTML.Tag t, int pos) 
        if(t == HTML.Tag.TR) encounteredATableRow = false;
    

【讨论】:

如果我想把所有的数据块放到外部类的一个数组中,而不是打印出来呢? @Imray,去吧,我允许你把它们放在某种收藏中而不是打印出来:) 我将它们放在HTMLTableParser 类中的一个集合中,然后创建了一个getter 方法来获取它们。这是最好的方法吗? @BartKiers 它与主题问题有什么关系??问题是“获取代表它的 DOM 元素”,而不是捕获 SAX 事件!【参考方案5】:

我使用了Jericho HTML Parser 它是 OSS,检测(原谅)格式错误的标签并且是轻量级的

【讨论】:

【参考方案6】:

您可以使用 HTML Parser,它是一个用于以线性或嵌套方式解析 HTML 的 Java 库。 它是一个开源工具,可以在 SourceForge 上找到

【讨论】:

【参考方案7】:

You could use Swing:

你如何使用 HTML 处理能力 内置在Java中?你可能不知道 Swing 包含所有类 需要解析 HTML。杰夫·希顿 告诉你怎么做。

【讨论】:

以上是关于HTML中&lt;o:p&gt;是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 html 中准确地编写 <h2>? [复制]

lambda 查询的优化

PHP 准备HTML标记以显示在&lt; code&gt;&lt; / code&gt;中。

sort()方法的应用

数组按对象属性排序

在CTime类中重载&lt;&lt;和&gt;&gt;