【问题标题】:JSOUP - Java create a new tag in the DOMJSOUP - Java 在 DOM 中创建一个新标签
【发布时间】:2014-05-26 14:37:02
【问题描述】:

我正在尝试使用 Jsoup 在本地网页上的一些现有“区域”之间添加一个新标签“区域”。

我的代码是这样的:

<hmtl>
<head>
...
</head>
<body>
...a lot of <div>..
  <map name="diagram_map">
     <area id="area1" />
     <!-- I would like to insert a new area here-->
     <area id="area2" />
  </map>
</body>
<hmtl/>

如果有人已经遇到过同样的问题,我会在网站上查看,但我没有找到。 我知道如何通过 id 选择现有的“区域”:

   Element target = doc.getElementById("area1");
   Node target = doc.getElementById("area1");

但是我不知道如何添加一个新的“区域”标签,我尝试了所有的附加,之后/之前,但它在标签“区域”中写入了新标签。

提前致谢!

【问题讨论】:

    标签: java tags jsoup area


    【解决方案1】:

    试试

    import java.io.File;
    
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    
    public class JsoupFrame {
    
        public static void main(String[] args) throws Exception {
            Document doc =  Jsoup.parse(new File("t2.html"), "UTF-8");
            doc.select("area#area1").after("<area id=\"newArea\" />");
            System.out.println(doc.html()); 
        }
    
    }
    

    HTML

    <hmtl>
    <head>
    </head>
    <body>
    ...a lot of <div>..
      <map name="diagram_map">
         <area id="area1" />
         <area id="area2" />
      </map>
    </body>
    <hmtl/>
    

    输出

    <html>
     <head></head>
     <body>
      <hmtl>    ...a lot of 
       <div>
        .. 
        <map name="diagram_map"> <area id="area1"></area><area id="newArea"></area> <area id="area2"></area> </map>  
        <hmtl /> 
       </div>
      </hmtl>
     </body>
    </html>
    

    【讨论】:

    • 它不起作用,也许是我的文档?我有:File in = new File (pathWebProject); &lt;br/&gt; Document doc = Jsoup.parse(in, "UTF-8");
    • 这会给你的 html 带来什么?我用您提供的 html 对其进行了测试,并且工作正常。 :(
    • 嗯,它回来了,我在选择中选择的区域:“area1”。我的“医​​生”是正确的?感谢您的回答
    • 更新了我的完整程序。
    • 很抱歉它正在工作!非常感谢我三个小时以来一直在做这个任务^^
    猜你喜欢
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多