我使用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上运行这段代码.有谁知道如何设置版本和编码样式?
我正在使用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)
请帮助我如何在根标记中添加模式实例值.
我正在使用StAX XML流编写器来编写XML文件.它将所有数据写入一行.我希望所有标签都缩进而不是单行.
我的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 中的按钮变得更小。
请帮忙。
我出现内存不足错误:
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尝试过,但仍然没有任何明显的改进.
任何建议如何改进代码.