<Product>
<Row1>97545214</Row1>
<Row2>
<value>01</value>
</Row2>
<Row4>
<number>1</number>
<role>A01</role>
<name>Paul </name>
</Row4>
<Row4>
<number>1</number>
<role>A01</role>
<name>James </name>
</Row4>
<Row4>
<number>1</number>
<role>A01</role>
<name>John </name>
</Row4>
<Row5>
<Code>01</Code>
<Measurement>9.00</Measurement>
<UnitCode>in</UnitCode>
</Row5>
<Row5>
<Code>02</Code>
<Measurement>6.00</Measurement>
<UnitCode>in</UnitCode>
</Row5>
<Row5>
<Code>03</Code>
<Measurement>1.09</Measurement>
<UnitCode>in</UnitCode>
</Row5>
<Row7>
<price>
<Code>01</PriceTypeCode>
<Amount>62.95</Amount>
<currency>USD</currency>
</Price>
</Row7>
<Row7>
<price>
<Code>01</PriceTypeCode>
<Amount>62.95</Amount>
<currency>USD</currency>
</Price>
如何在java StaX解析器中读取此xml。这是示例 xml。原始文件大小大于 2 GB。所以只有我去StaX解析器。我的Java类是BulkFileReader.java
public class BulkFileReader {
public static void main(String[] args) throws ClassNotFoundException, XMLStreamException, FileNotFoundException {
String fileName = "E:\\Arunselvan\\D2 to D5\\xml files\\combine.xml";
List<BookSpecBean> bookspec = (List<BookSpecBean>) parseXML(fileName);
for(BookSpecBean bean : bookspec){
System.out.println("The Row1="+bean.row1);
System.out.println("The Row2="+bean.row2);
System.out.println("The Number="+bean.number);
System.out.println("The Role="+bean.role);
System.out.println("The Name="+bean.name);
System.out.println("The code="+bean.code);
System.out.println("The amount="+bean.amount);
System.out.println("The currency="+bean.currency);
System.out.println("===========================================");
new Query().InsertMetaData1(bean);
}
System.out.println("XML Completed Successfully");
}
private static List<BookSpecBean> parseXML(String fileName) {
List<BookSpecBean> empList = new ArrayList<>();
BookSpecBean emp = null;
XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();
xmlInputFactory.setProperty(XMLInputFactory.IS_COALESCING, true);
try {
XMLEventReader xmlEventReader = xmlInputFactory.createXMLEventReader(new FileInputStream(fileName));
while(xmlEventReader.hasNext()){
XMLEvent xmlEvent = xmlEventReader.nextEvent();
if (xmlEvent.isStartElement()){
StartElement startElement = xmlEvent.asStartElement();
if(startElement.getName().getLocalPart().equals("Product")){
emp = new BookSpecBean();
}
}
//set the other varibles from xml elements
else if(startElement.getName().getLocalPart().equals("Row1")){
xmlEvent = xmlEventReader.nextEvent();
emp.setRow1(xmlEvent.asCharacters().getData());
}
else if(startElement.getName().getLocalPart().equals("Row2")){
xmlEvent = xmlEventReader.nextEvent();
emp.setRow2(xmlEvent.asCharacters().getData().replace("'", ""));
}
String qname = startElement.getName().getLocalPart();
if(qname.equalsIgnoreCase("Row4")){
xmlEvent = xmlEventReader.nextEvent();
}
else if(startElement.getName().getLocalPart().equals("number")){
xmlEvent = xmlEventReader.nextEvent();
emp.setnumber(xmlEvent.asCharacters().getData());
}
else if(startElement.getName().getLocalPart().equals("role")){
xmlEvent = xmlEventReader.nextEvent();
emp.setrole(xmlEvent.asCharacters().getData());
}
else if(startElement.getName().getLocalPart().equals("name")){
xmlEvent = xmlEventReader.nextEvent();
emp.setname(xmlEvent.asCharacters().getData());
}
}
if(xmlEvent.isEndElement()){
EndElement endElement = xmlEvent.asEndElement();
if(endElement.getName().getLocalPart().equals("Row4")){
empList.add(emp);
}
}
else if(startElement.getName().getLocalPart().equals("code")){
xmlEvent = xmlEventReader.nextEvent();
emp.setcode(xmlEvent.asCharacters().toString());
}
else if(startElement.getName().getLocalPart().equals("Amount")){
xmlEvent = xmlEventReader.nextEvent();
emp.setamount(xmlEvent.asCharacters().getData());
}
else if(startElement.getName().getLocalPart().equals("currency")){
xmlEvent = xmlEventReader.nextEvent();
emp.setcurrency(xmlEvent.asCharacters().getData());
}
}
//if Employee end element is reached, add employee object to list
if(xmlEvent.isEndElement()){
EndElement endElement = xmlEvent.asEndElement();
if(endElement.getName().getLocalPart().equals("Product")){
empList.add(emp);
}
}
}
} catch (FileNotFoundException | XMLStreamException e) {
e.printStackTrace();
}
return empList;
}
}
我使用此java代码从xml标记中检索值。当我使用这个代码时。我可以检索第三个
提前感谢您回答这个问题..
如果你使用的是JaxB
,你不需要自己解析XML文件,这就是为什么JaxB
是为!:)
使用JaxB
/Unmarshaller
和XSD
读写xml的基本步骤
>
使用<code>解组器
JAXBContext jc = JAXBContext.newInstance(Product.class);
String fileName = "E:\\Arunselvan\\D2 to D5\\xml files\\combine.xml";
Unmarshaller u = jc.createUnmarshaller();
Product product = (Product) u.unmarshal(new FileInputStream(filename));
就是这样…JaxB
将负责类、属性、填充、写/读xml。
本文向大家介绍java如何解析/读取xml文件,包括了java如何解析/读取xml文件的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java解析/读取xml文件的方法,供大家参考,具体内容如下 XML文件 Java 代码: 以上就是本文的全部内容,希望对大家的学习有所帮助。
问题内容: 我试图在我的android应用中的所有视图中始终使用相同的尺寸(例如,左边界为20dp)。如果我使用的是HTML,我只会使用CSS文件,但是我对如何在Android上执行此操作一无所知。 有没有一种方法可以将该值存储在res / values中的xml文件中,然后在布局中使用它? 例如,我想像将它们存储在strings.xml中 然后在layout.xml中使用以下文本 但我不确定它是
我考虑了两种解决方法: 通过php exec使用GhostScript读取上传的文件并获取其尺寸-我还不能让这种方法起作用 使用PHP PDF库读取上传的文件并获取其尺寸(如fdpi/fpdf)-我有一些东西在工作(我想!) 至于Ghostscript,我在这里找到了这个答案,因此建议使用另一个名为(我确实是按照评论建议先下载的)。然而,我无法让它正常工作。在将其添加到任何PHP脚本之前,我尝试运
问题内容: 目前,我正在尝试使用SAX解析器,但是通过文件它大约3/4完全冻结了,我尝试分配更多的内存等,但没有得到任何改善。 有什么办法可以加快速度吗?更好的方法? 剥开它的骨头,所以我现在有了以下代码,并且在命令行中运行时,它的运行速度还没有达到我想要的速度。 使用“ java -Xms-4096m -Xmx8192m -jar reader.jar”运行它,得到的GC开销限制超出了文章700
问题内容: 我想知道是否可以使用tkinter计算屏幕尺寸。 我想要这样做,这样可以使程序在屏幕中央打开。 问题答案:
我很想知道相互独立的最大位图宽度和高度是多少。我确实发现最大尺寸是32768x32768,但这只是一个完美的正方形吗?32768x32768=1073741824是我可以玩的像素总数吗?我可以在宽度和高度之间重新排列这些像素,只要总数不超过? 如果我这样做,我不会有任何错误: 将位图变暗为位图=新位图(450100000) 即使我无法在保存后打开图像(我不需要这样做),我仍然能够使用位图,但我相信