小编Anu*_*rag的帖子

StAX - 使用XMLStreamWriter设置版本和编码

我使用StAX创建XML文件,然后使用和XSD验证文件.

我在创建XML文件时遇到错误:

javax.xml.stream.XMLStreamException: Underlying stream encoding 'Cp1252' and input paramter for writeStartDocument() method 'UTF-8' do not match.
        at com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.writeStartDocument(XMLStreamWriterImpl.java:1182)
Run Code Online (Sandbox Code Playgroud)

这是代码片段:

XMLOutputFactory xof =  XMLOutputFactory.newInstance();

try{

  XMLStreamWriter xtw = xof.createXMLStreamWriter(new FileWriter(fileName));
  xtw.writeStartDocument("UTF-8","1.0");} catch(XMLStreamException e) {
  e.printStackTrace();

} catch(IOException ie) {

  ie.printStackTrace();

}
Run Code Online (Sandbox Code Playgroud)

我在Unix上运行这段代码.有谁知道如何设置版本和编码样式?

java xml encoding stax

7
推荐指数
2
解决办法
2万
查看次数

JAXB - 如何添加xmlns:xsi = http://www.w3.org/2001/XMLSchema-instance

我正在使用JAXB从结果集创建XML文件.

我在xjc utiliy的帮助下使用xsd创建了java//类文件.现在我正在尝试使用Marshaller创建xml文件.在XML文件中,我没有看到xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"带有根标记的属性.

public class JAXBConstructor
 {  
  public void generateXMLDocument(File xmlDocument){
   try 
      {
         JAXBContext  jaxbContext = JAXBContext.newInstance("com");                 
         Marshaller marshaller = jaxbContext.createMarshaller();    
         marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true); 
         marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); 
         com.ObjectFactory factory = new com.ObjectFactory();
         USERTASKSImpl  userTasks =(USERTASKSImpl)(factory.createUSERTASKS());         
         USERTASKTypeImpl userTaskType = (USERTASKTypeImpl)(factory.createUSERTASKSTypeUSERTASKType());         
         userTaskType.setName("zmannan");
         userTaskType.setCode("G5023920");
         java.util.List userTaskList=userTasks.getUSERTASK();         
         userTaskList.add(userTaskType);         
         marshaller.marshal(userTasks, new FileOutputStream("User_Task.xml"));
}
Run Code Online (Sandbox Code Playgroud)

代码输出:这不包含XMLSchema值 -

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<USER_TASKS xmlns="http://schemas.jpmchase.net/Recertification">
    <USER_TASK>
        <Code>G5023920</Code>
        <Name>zmannan</Name>
    </USER_TASK>
</USER_TASKS>
Run Code Online (Sandbox Code Playgroud)

请帮助我如何在根标记中添加模式实例值.

java jaxb

6
推荐指数
0
解决办法
6726
查看次数

使用StAX格式化XML文件

我正在使用StAX XML流编写器来编写XML文件.它将所有数据写入一行.我希望所有标签都缩进而不是单行.

java xml stax

4
推荐指数
1
解决办法
1万
查看次数

IE 和 Firefox 中的按钮大小不相等

我的jsp页面上有几个按钮,我使用的样式为:

*.buttonblue {
    background-color: #003366;
    border-color: #99CCFF;
    color: #FFFFFF;
    font-family: Verdana,Arial,Helvetica;
    font-size: 8pt;
    font-weight: bold;
    height: 20px; 
    display:inline;
    line-height: 1.2;
    text-align: center; 
         margin-top: 2px; 
}*
Run Code Online (Sandbox Code Playgroud)

在 Firefox 中,按钮比 IE6 小一点。我无法定义按钮的大小,因为标题会相应地更改按钮大小。

我尝试使用 width:auto 但没有成功。此外,使用 overflow:visible IE 中的按钮变得更小。

请帮忙。

html css jsp cross-browser

2
推荐指数
1
解决办法
1万
查看次数

JAXB的内存泄漏

我出现内存不足错误:

Memory Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at org.apache.xerces.dom.CoreDocumentImpl.createElement(CoreDocumentImpl.java:564)

我有一个独立的Java程序,它从数据库中获取数据并使用DOM创建XML文件.如果获取的数据很大,我会收到上述错误,在我的情况下,它是> 1,000,000条记录.

我从unix调用Java类时已经定义了2GB作为堆大小.

我用JAXB尝试过,但仍然没有任何明显的改进.

任何建议如何改进代码.

java dom jaxb out-of-memory

2
推荐指数
1
解决办法
2279
查看次数

标签 统计

java ×4

jaxb ×2

stax ×2

xml ×2

cross-browser ×1

css ×1

dom ×1

encoding ×1

html ×1

jsp ×1

out-of-memory ×1