Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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 我可以向子节点添加注释行吗?_Java_Xml_Dom_Hierarchical Data - Fatal编程技术网

Java 我可以向子节点添加注释行吗?

Java 我可以向子节点添加注释行吗?,java,xml,dom,hierarchical-data,Java,Xml,Dom,Hierarchical Data,我需要用以下格式构建一个XML文件: <PartNumber> <Code> <Parameter> <ParameterCode> XYOperating Time</ParameterCode> <UnitOfMeasure>HR</UnitOfMeasure> <Details> <StartMeasure>NEW</StartM

我需要用以下格式构建一个XML文件:

<PartNumber>
<Code>     
  <Parameter>
 <ParameterCode> XYOperating Time</ParameterCode>
 <UnitOfMeasure>HR</UnitOfMeasure>  
     <Details>
        <StartMeasure>NEW</StartMeasure>  
        <TotalValue>62.0</TotalValue>
       <Date>2009-12-21T10:33:36-02:00</Date>

<!--<Comments>
&lt;DATE&gt;2009-12-21-12T10:33:36-02:33:36&lt;/DATE&gt;&lt;TEXT&gt;     Total Testing performed during Test Procedure/TEXT&gt;
</Comments -->


        </Details>
          </Parameter>
 </Code>
</PartNumber>
我能够构建我想要的树,但是我不能添加注释行作为
详细信息的子项


这样做是正确的还是不允许我将注释作为子元素?

您尝试过并将其附加到您的树中吗?

@Giuseppe,为什么不?你收到错误信息了吗?如果是,什么?当我尝试创建注释时,注释e9=doc.createComment(数据);我没有问题,但我不知道如何在我使用的details节点e5.appendChild(e9)下添加这个;但它不起作用。为什么我们要从你鼻子里把所有的信息都拿出来?你有什么错误?什么时候编译?在运行时?你有没有隐藏的堆栈跟踪?更多信息。请不要告诉我任何错误,但当我阅读该文件时,不会生成注释行。当我格式化您的文章时,我注意到您在XML注释末尾缺少一个小括号。不确定当你问问题时这是一个打字错误还是代码中的一个实际问题,但现在你知道了。
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import javax.xml.transform.dom.*;
import org.apache.xml.serializer.*;

public class MakeXML 
{
  public MakeXML() { }

  public String doit()
      throws javax.xml.parsers.ParserConfigurationException,
             javax.xml.transform.TransformerException,
             javax.xml.transform.TransformerConfigurationException
   {

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        DOMImplementation impl = builder.getDOMImplementation();
        Document doc = impl.createDocument(null,null,null);


        Element e1 = doc.createElement("xxx"); doc.appendChild(e1);
       // primo elemento
        e1.setAttribute("version","3.1");
        e1.setAttribute("xmlns:xsi","");



       // inizio descri codice         
        Element e2 = doc.createElement("Part"); e1.appendChild(e2);


      // descrizione codici   PartId
        Element e3 = doc.createElement("PartId"); e2.appendChild(e3);

        // MANUFACTURER  
            Element e4 = doc.createElement("Manufacturer");  e3.appendChild(e4);

            Element e5= doc.createElement("ReferenceNumber"); e4.appendChild(e5);
                    e5.setTextContent("hhhhhhhhhhhhh");

            Element e6= doc.createElement("CageCode"); e4.appendChild(e6);
                    e6.setTextContent("xxxx");

        //  ADDITIONALREFERENCE

        e4 = doc.createElement("AdditionalReference");  e3.appendChild(e4);                      

              e5 = doc.createElement("ReferenceNumber");      e4.appendChild(e5);
                 e5.setTextContent("yyyyyyyy");

              e5 = doc.createElement("CageCode");             e4.appendChild(e5);        
                e5.setTextContent("vvvvv");

            //  NOMENCLATURE       

              e4 = doc.createElement("Nomenclature");         e3.appendChild(e4);   
              e4.setTextContent("zzzzzzzzzzzzz");

              e4 = doc.createElement("ItemUniqueIdentifier");  e3.appendChild(e4);  
              e4.setTextContent("xxxxxxxxxxxxxx");

              e4 = doc.createElement("SerialNumber");          e3.appendChild(e4);  
              e4.setTextContent("vvbb");


              e4 = doc.createElement("ItemClasscode");         e2.appendChild(e4);  
              e4.setTextContent("cc");

              e4 = doc.createElement("ManufacturerDate");      e2.appendChild(e4);  
              e4.setTextContent("2009-12-21-12T10:33:36-02:33:36");


              e4 = doc.createElement("IsServiceable");      e2.appendChild(e4);  
              e4.setTextContent("true");

              e4 = doc.createElement("Iscomplete");      e2.appendChild(e4);  
              e4.setTextContent("true");

              e4 = doc.createElement("IsPreserved");      e2.appendChild(e4);  
              e4.setTextContent("false");
        //usage data 
    //-----------------------------------------------------------------------------------------
           e3 = doc.createElement("Usagedata"); e2.appendChild(e3);  

             e4 = doc.createElement("UsageParameter");          e3.appendChild(e4);  

              e5 = doc.createElement("ParameterCode");          e4.appendChild(e5);        
               e5.setTextContent(" OPERATING TIME");

               e5 = doc.createElement("UnitOfMeasure");          e4.appendChild(e5);        
                 e5.setTextContent("HR");


       //-----------------------------------------------------------------------------------------               
                e5 = doc.createElement("UsageRecord");            e4.appendChild(e5);        


                       e6 = doc.createElement("StartMeasureEvent");     e5.appendChild(e6);        
                       e6.setTextContent("NEW");

                       e6 = doc.createElement("TotalValue");            e5.appendChild(e6);        
                       e6.setTextContent("62.0");

                       e6 = doc.createElement("DateRecorder");          e5.appendChild(e6);        
                       e6.setTextContent("2009-12-21-12T10:33:36-02:33:36");



                      String xxdata=" ccccdfffffffff  ";     
                          Comment e9 = doc.createComment(xxdata);
                      e5.appendChild(e9);   









        // transform the Document into a String  DISCLOSUREDATAMODIFIEDDATA
        DOMSource domSource = new DOMSource(doc);
        TransformerFactory tf = TransformerFactory.newInstance();
        Transformer transformer = tf.newTransformer();
        //transformer.setOutputProperty    (OutputKeys.OMIT_XML_DECLARATION, "yes");
        transformer.setOutputProperty(OutputKeys.METHOD, "xml");
        transformer.setOutputProperty(OutputKeys.ENCODING,"utf-8");        
        transformer.setOutputProperty(OutputKeys.VERSION,"" );

        transformer.setOutputProperty(OutputKeys.STANDALONE,"yes");


       transformer.setOutputProperty(OutputKeys.INDENT, "yes");



        java.io.StringWriter sw = new java.io.StringWriter();
        StreamResult sr = new StreamResult(sw);
        transformer.transform(domSource, sr);
        String xml = sw.toString();
        return xml;
    }   
}