Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java从xml文件中删除标记属性_Java_Xml - Fatal编程技术网

如何使用java从xml文件中删除标记属性

如何使用java从xml文件中删除标记属性,java,xml,Java,Xml,我想使用java从我的原始xml文件中删除一些属性和标记,如果有人能帮助我,我将非常高兴。多谢各位 XML文件 <?xml version="1.0" encoding="iso-8859-1"?> <html> <table cellspacing="0" cellpadding="3" align="Center" rules="cols" bordercolor="#999999" border="1" id="DataGrid1" bgcolor="Whit

我想使用java从我的原始xml文件中删除一些属性和标记,如果有人能帮助我,我将非常高兴。多谢各位

XML文件

<?xml version="1.0" encoding="iso-8859-1"?>
<html>
<table cellspacing="0" cellpadding="3" align="Center" rules="cols" bordercolor="#999999" border="1" id="DataGrid1" bgcolor="White" height="8" width="624" style="Z-INDEX: 111; LEFT: 120px; POSITION: absolute; TOP: 128px"> 
 <tbody>
  <tr bgcolor="#000084"> 
   <td><font color="White"><b>Date</b></font></td>
   <td><font color="White"><b>Time</b></font></td>
   <td><font color="White"><b>Quay</b></font></td>
   <td><font color="White"><b>Vessel</b></font></td>
   <td><font color="White"><b>Call Reference Number</b></font></td> 
  </tr>
  <tr bgcolor="#EEEEEE"> 
   <td><font color="Black">01.01.2014</font></td>
   <td><font color="Black">11:00</font></td>
   <td><font color="Black">P7</font></td>
   <td><font color="Black">&quot;SELFOSS&quot;</font></td>
   <td><font color="Black">NLRTM13029124 </font></td> 
  </tr>
  <tr bgcolor="Gainsboro"> 
   <td><font color="Black">01.01.2014</font></td>
   <td><font color="Black">15:00</font></td>
   <td><font color="Black">P6</font></td>
   <td><font color="Black">&quot;NEDLLOYD MARITA&quot;</font></td>
   <td><font color="Black">NLRTM13029408 </font></td> 
  </tr>
  <tbody>
  <table>
  <html>
我想将此xml更改为

<?xml version="1.0" encoding="iso-8859-1"?>
<html>
<table> 
 <tbody>
  <tr> 
   <td>Date</td>
   <td>Time</td>
   <td>Quay</td>
   <td>Vessel</td>
   <td>Call Reference Number</td> 
  </tr>
  <tr> 
   <td>01.01.2014</td>
   <td>11:00</td>
   <td>P7</td>
   <td>&quot;SELFOSS&quot;</td>
   <td>NLRTM13029124</td> 
  </tr>
  <tr> 
   <td>01.01.2014</font></td>
   <td>15:00</font></td>
   <td>P6</font></td>
   <td>&quot;NEDLLOYD MARITA&quot;</td>
   <td>NLRTM13029408</td> 
  </tr>
  <tbody>
  <table>
  <html>
我必须用java来完成。
如果有人能展示一些实现这一目标的方法或给出一些提示,那将是非常棒的。非常感谢。

您可以使用Java XML库(如Apache)来处理XML。但是,由于某些标记没有正确关闭,因此您发布的文档不是有效的XML,这一点毫无意义

根据XML数据的来源,AXIOM可以通过多种方式构建DOM

有关更多信息,请参见AXIOM。以下代码段来自前面提到的快速入门文档,它从文件构造DOM:

public void processFile(File file) throws IOException, OMException {
    // Create a builder for the file and get the root element
    InputStream in = new FileInputStream(file);
    OMElement root = OMXMLBuilderFactory.createOMBuilder(in).getDocumentElement();

    // Dome some processing...

    // Because Axiom uses deferred parsing, the stream must be closed AFTER
    // processing the document (unless OMElement#build() is called)
    in.close();
}
一旦拥有了DOM,您就可以使用XPath等工具查找您希望在案例中操作属性的XML节点,并将它们从DOM中删除。

尝试使用此工具

XmlString=XmlString.replaceAll("\\<\\html(.+?)\\?\\>", "").trim();

你试过什么吗?代码编写服务不是免费的。如果你想在这个论坛上得到帮助,你需要发布有效的代码并提出有效的问题。OK,谢谢你,我已经尝试了一些东西,我会发布它!谢谢,我现在就去看看。