XMLEventWriterImpl.java 文件源码

java
阅读 25 收藏 0 点赞 0 评论 0

项目:jvm-stm 作者:
public void add(XMLEvent event)
  throws XMLStreamException
{
  QName name;
  String uri;
  switch (event.getEventType())
    {
    case XMLStreamConstants.START_ELEMENT:
      StartElement startElement = event.asStartElement();
      name = startElement.getName();
      uri = name.getNamespaceURI();
      if (uri != null && !"".equals(uri))
        writer.writeStartElement(name.getPrefix(), name.getLocalPart(), uri);
      else
        writer.writeStartElement(name.getLocalPart());
      break;
    case XMLStreamConstants.END_ELEMENT:
      writer.writeEndElement();
      break;
    case XMLStreamConstants.ATTRIBUTE:
      Attribute attribute = (Attribute) event;
      name = attribute.getName();
      uri = name.getNamespaceURI();
      if (uri != null && !"".equals(uri))
        writer.writeAttribute(name.getPrefix(), uri, name.getLocalPart(),
                              attribute.getValue());
      else
        writer.writeAttribute(name.getLocalPart(), attribute.getValue());
      break;
    case XMLStreamConstants.NAMESPACE:
      Namespace namespace = (Namespace) event;
      uri = namespace.getNamespaceURI();
      writer.writeNamespace(namespace.getPrefix(), uri);
      break;
    case XMLStreamConstants.PROCESSING_INSTRUCTION:
      ProcessingInstruction pi = (ProcessingInstruction) event;
      String data = pi.getData();
      if (data == null)
        writer.writeProcessingInstruction(pi.getTarget());
      else
        writer.writeProcessingInstruction(pi.getTarget(), data);
      break;
    case XMLStreamConstants.COMMENT:
      Comment comment = (Comment) event;
      writer.writeComment(comment.getText());
      break;
    case XMLStreamConstants.START_DOCUMENT:
      StartDocument startDocument = (StartDocument) event;
      writer.writeStartDocument(startDocument.getVersion());
      break;
    case XMLStreamConstants.END_DOCUMENT:
      writer.writeEndDocument();
      break;
    case XMLStreamConstants.DTD:
      DTD dtd = (DTD) event;
      writer.writeDTD(dtd.getDocumentTypeDeclaration());
      break;
    case XMLStreamConstants.CHARACTERS:
    case XMLStreamConstants.SPACE:
      Characters characters = event.asCharacters();
      writer.writeCharacters(characters.getData());
      break;
    case XMLStreamConstants.CDATA:
      Characters cdata = event.asCharacters();
      writer.writeCData(cdata.getData());
      break;
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号