Tag: xml

如何使用java从xml文件中提取细节?

我有以下类型的XML文件, 224589801 NC_000010 Homo sapiens chromosome 10, GRCh37.p10 Primary Assembly gi|224589801|gnl|ASM:GCF_000001305|10|ref|NC_000010.10||gpp|GPC_000000034.1||gnl|NCBI_GENOMES|10[224589801] 224589801 2002/08/29 2012/10/30 544 9606 135534747 live 如何从node =“Item”中提取细节,具体取决于它的名称值? 使用标准的java dom xml或者更好地使用任何其他xml解析器库是为了这个目的吗?

如何保存常量更新,最后将输出保存为XMLModifier文件

我有不同的方法尝试根据路径更新/删除元素/令牌。 现在,每个方法在完成编辑后,立即保存为文件, VTDGen vg = new VTDGen(); vg.parseFile(“input.xml”, false); vn.getNav(); AutoPilot ap = new AutoPilot(vn); XMLModifier xm; public void updateToken(String path) { xm = new XMLModifier(vn); ap.selectXPath(path); …… xm.updateToken(i,”hello”); …… xm.output(“output.xml”); } 如果我继续再次调用此方法,它会保存,但它会用新的更改覆盖文件,我不希望这样,所以我该怎么做? 我也试过用 xm.outputAndReparse(); 我将更新保存回NTDNav vn , NTDNav vn用其余方法,但它会破坏方法移动到节点的其余部分(使用AutoPilot)。 我想要的:调用方法根据路径更新令牌,保存更新,并使用另一个路径再次调用该方法,最后在完成更新后,保存到文件中。 如果我有任何错误,请告诉我,因为我还是VTD-XML的新手。 谢谢。 搞定了,这就是我所做的。 VTDGen vg = new VTDGen(); vg.parseFile(“input.xml”, false); vn.getNav(); AutoPilot ap = […]

Jackson JSON生成HTTP状态500,XML工作

我目前正在使用Jackson将Java对象序列化为JSON和XML作为REST Web服务的响应。 我有以下带注释的Java对象: @XmlRootElement(name = “Product”) @XmlAccessorType(XmlAccessType.FIELD) public class ProductDetailsView { @XmlElement private int id; @XmlElement private long EAN; @XmlElement private String manufacturer; @XmlElement private String modelname; @XmlElementWrapper(name = “onlineCompetitors”) @XmlElement(name = “competitor”) private List onlineCompetitors; 现在,前几个字段是原始类型,它们在JSON和XML中都完美地工作(事实上,有更多的原始字段)。 但是,从我添加OnlineCompetitorView列表的那一刻起,JSON序列化就不再起作用,并导致应用程序生成HTTP状态500(“内部服务器错误”)。 但是,当我使用application / xml作为接受的内容类型时,它可以完美地工作。 正确的XML响应: 1 5901234123457 Samsung 1 Shop1 4 488.95 7 2 Shop2 5 498.95 12 […]

使用java删除XML中的重复项的小问题

这是示例XML: 23 23 这是我写的java代码,它找到重复的元素(包括它们的属性)并删除它们: import java.io.File; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathExpression; import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class RecursiveNodeCheck { /** * @param args */ public static […]

Androidexception(不可信服务器证书):https带有服务器身份validation的XML请求

在我的Android应用程序中,我必须读取存储在服务器中的XML文件。 由于这是一个安全的网页[SSL(https)],要访问XML文件所在的位置( https://serverAddress/path/ ),通常需要用户名/密码validation 以下是我用来阅读和获取XML Stream的代码。 但是当它试图执行HttpResponse httpResponse = httpClient.execute(httpGet);时总会出现exceptionHttpResponse httpResponse = httpClient.execute(httpGet); 声明。 例外表示Not trusted server certificate 。 还在Manifest文件中添加了Internet访问权限 如果XML文件存储在不需要任何身份validation的地方,那么它可以正常工作。 我到处搜索,但没有找到任何可以做到这一点的例子。 如果有人可以指导这个过程,我将非常感激。 提前致谢…!!!! try { Log.v(“State”,”Started…”); HttpClient httpClient = new DefaultHttpClient(); HttpGet httpGet = new HttpGet(“https://serverAddress/path/MyXMLFile.xml”); httpGet.addHeader(BasicScheme.authenticate(new UsernamePasswordCredentials(“username”, “password”),HTTP.UTF_8, false)); HttpResponse httpResponse = httpClient.execute(httpGet); InputStream xmlInputStream = httpResponse.getEntity().getContent(); Toast.makeText(getApplicationContext(), this.convertStreamToString(xmlInputStream), Toast.LENGTH_LONG).show(); Log.v(“State”,”Finish…”); } catch(Exception […]

使用JDOM使用xsdvalidationxml

我试图使用JDOM使用xsdvalidationxml。 这是我的validation代码: – public class jdom1 { public static void main(String[] args) throws JDOMException, IOException { // TODO Auto-generated method stub File xsdfile = new File(“file.xsd”); XMLReaderJDOMFactory schemafac = new XMLReaderXSDFactory(xsdfile); SAXBuilder builder = new SAXBuilder(schemafac); Document doc = builder.build(new File(“file.xml”)); Element root = doc.getRootElement(); for(Element testCase : root.getChildren()){ //Code } } 我的file.xml: – 1 […]

XALAN寄存器扩展function,如SAXON

我想用XALAN通过XSLT转换XML。 现在我想使用扩展函数,这个函数必须像在SAXON中一样添加到JAVA源代码中: 方法: TransformerFactory tFactory = TransformerFactory.newInstance(); Configuration c = ((net.sf.saxon.TransformerFactoryImpl) tFactory).getConfiguration(); c.registerExtensionFunction(new FooExtension()); FooExtension: public class FooExtension extends ExtensionFunctionDefinition { private static final long serialVersionUID = -8143237239412146617L; @Override public SequenceType[] getArgumentTypes() { return new SequenceType[] { SequenceType.EMPTY_SEQUENCE }; } @Override public StructuredQName getFunctionQName() { return new StructuredQName(“ns”, “http://namespace”, “generate-guid”); } } 但是它如何在XALAN中工作(?FunctionTable?,?FunctionResolver?,?URIResolver?),我必须通过源代码完成,我不允许在XSLT中添加类。 谢谢!!

用于XML的Java API

这是一个用于处理XML(DOM和SAX方法)的优秀Java API? JAXP是一个不错的选择,还是被弃用了? 而且,你知道什么是关于建议的API的好教程? 谢谢。

Xstream隐式映射作为根元素的属性

我试图找到一个解决方案,使用XStream将地图转换为根元素属性。 我不认为这是可能的,但这是我尝试过的。 我创建了一个自定义转换器并将其附加到根对象,然后在转换器中我可以访问我试图转换为属性的地图,我遍历地图并使用writer.addAttribute将attirbute写入节点( entry.getKey(),entry.getValue()); 这确实会将属性写入根节点,例如 这种方法的问题在于它不处理文档的其余部分,它只是在处理地图后停止,为了使其工作,我需要一些方法让默认转换器重新控制并完成模型。 我一直试图使用的第二个解决方案是为地图创建一个自定义转换器,这种方法的问题是我无法获得根元素的句柄,所以我无法写入它,是否可能以这种方式访问​​根元素? 谢谢,乔恩

用于标签式菜单的Android Fragments

我正在努力为我的Android应用程序中的选项卡式菜单导航添加额外的片段。 我使用了ADT提供的默认’Scrollable Tabs + Swipe’。 下面是我的MainMenu.java package com.example.universitybudget_v2_1; import java.util.Locale; import com.example.universitybudget_v2.R; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.app.NavUtils; import android.support.v4.view.ViewPager; import android.view.Gravity; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; public class MainMenu extends FragmentActivity { /** * The {@link android.support.v4.view.PagerAdapter} that will provide * […]