Tag: jdom

jdom删除重复的名称空间声明(xmloutputter)

jdom似乎删除了重复的命名空间声明。 当XML文档嵌入到另一个XML结构中时,这是一个问题,例如在OAI-PHM(开放存档计划)中。 当周围的xml只是一个容器并且稍后提取嵌入的文档时,这可能是一个问题。 这是一些代码。 嵌入的xml包含在具有相同名称的字符串中。 它声明了xsi名称空间。 我们构造了一个jdom容器,也声明了xsi命名空间。 我们解析并嵌入字符串。 当我们打印整个内容时,内部xsi namepsace消失了。 public static final Namespace OAI_PMH= Namespace.getNamespace( “http://www.openarchives.org/OAI/2.0/”); public static final Namespace XSI = Namespace.getNamespace(“xsi”, “http://www.w3.org/2001/XMLSchema-instance”); public static final String SCHEMA_LOCATION = “http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd”; public static final String ROOT_NAME = “OAI-PMH”; String embeddedxml = ” \”” + “”; // loadstring omitted (parse embeddedxml into jdom) Element […]

hadoop map中的InstantiationException减少程序

我是Hadoop框架的新手。 我试图编写一个从hdfs读取XML文件的程序,使用JDOM解析它并将其发送到数据库。 以下是Java文件 package JDOMprs; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configured; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.DoubleWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner; import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.JDOMException; import org.jdom2.input.SAXBuilder; import com.vertica.hadoop.VerticaOutputFormat; import com.vertica.hadoop.VerticaRecord; public class ExampleParser extends Configured implements Tool { […]

JDOM中的命名空间(默认)

我正在尝试使用最新的JDOM包生成XML文档。 我在使用根元素和命名空间时遇到了麻烦。 我需要生成这个根元素: 我用这个代码: Element root = new Element(“ManageBuildingsRequest”); root.setNamespace(Namespace.getNamespace(“http://www.energystar.gov/manageBldgs/req”)); Namespace XSI = Namespace.getNamespace(“xsi”, “http://www.w3.org/2001/XMLSchema-instance”); root.addNamespaceDeclaration(XSI); root.setAttribute(“schemaLocation”, “http://www.energystar.gov/manageBldgs/req http://estar8.energystar.gov/ESES/ABS20/Schemas/ManageBuildingsRequest.xsd”, XSI); Element customer = new Element(“customer”); root.addContent(customer); doc.addContent(root); // doc jdom Document 但是,ManageBuildingsRequest之后的下一个元素也具有默认命名空间,这会破坏validation: 有帮助吗? 感谢您的时间。

使用JDOM检查XML文档与DTD的兼容性?

我正在使用Java,我想检查XML文件是否对DTD有效。 假设我们确实有一个DTD文件,我想检查某个XML文件是否对DTD文件中提出的相同定义有效。 有什么办法可以使用JDOM吗?

如何在java中使用jdom从节点中删除子节点?

我有一个xml结构如下: enabled http http://localhost:80 abc b a newlinkkkkkkk 现在,我想删除一个子节点,其中text等于http。 目前我正在使用此代码: while(subchilditr.hasNext()){ Element subchild = (Element)subchilditr.next(); if (subchild.getText().equalsIgnoreCase(text)) { message = subchild.getText(); update = “Success”; subchild.removeAttribute(“priority”); subchild.removeContent(); } 但它并没有从xml文件中完全删除子元素。 它离开了我 有什么建议?

使用xpath和jdom选择节点

我有一个xform文档 Summary 我想使用xpath和jdom从xform中选择数据元素 XPath xpath = XPath.newInstance(“h:html/h:head/h:title/”); 似乎工作正常,并选择标题元素,但 XPath xpath = XPath.newInstance(“h:html/h:head/model”); 不选择模型元素。 我想这与命名空间有关。

如何使用JDOM解析以下XML

我有一个XML文档如下: What type is your OS? windows linux mac What are you looking for? table Which color table you want? green black pink chair bed cloth 现在我想用Java中的jdom解析上面的XML。 它是一种递归和重要的注意事项是一个问题不能是问题的直接孩子,同样适用于答案 。

XML文件没有使用jdom进行更新

以下是我的java代码,用于读取xml文件并更新其中的一些值。 public static void writeLexicon(String word, String tag) { int newFreq=0; int tagAvailability = 0; int wordAvaialbility = 0; try { if (new File(“./src/Lexicon.xml”).exists()) { Document readDoc = getXMLFile(); Element root = readDoc.getRootElement(); for (Element curElem : root.getChildren(“lexiconElement”)) { if (word.equals(curElem.getChildText(“word”))) { // word avaialble List subEle = curElem.getChildren(); for (int i = 1; i […]

在Scala中执行复杂的XPath查询

在scala中使用哪种最简单的API来对文档执行以下XPath查询? //s:Annotation[@type=’attitude’]/s:Content/s:Parameter[@role=’type’ and not(text())] //s:Annotation[s:Content/s:Parameter[@role=’id’ and not(text())]]/@type ( s被定义为特定命名空间的昵称) 我在Scala的XML库上找到的唯一文档没有关于执行复杂的实际XPath查询的信息。 我曾经为此目的(在Java中)喜欢JDOM ,但由于JDOM不支持generics,因此在Scala中使用会很痛苦。 (Java的其他XML库在Java中往往更加痛苦,但我承认我不了解真实情况。)

如何将org.jdom.Document转换为String

如何在Java中将org.jdom.Document转换为String?