当前位置:首页 » 编程语言 » javaxmlstring

javaxmlstring

发布时间: 2022-08-14 20:38:20

java中,xml的string类型怎么校验是不是符合xml格式

使用jdk自带的验证api
// parse an XML document into a DOM tree
DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = parser.parse(new File("instance.xml"));

// create a SchemaFactory capable of understanding WXS schemas
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);

// load a WXS schema, represented by a Schema instance
Source schemaFile = new StreamSource(new File("mySchema.xsd"));
Schema schema = factory.newSchema(schemaFile);

// create a Validator instance, which can be used to validate an instance document
Validator validator = schema.newValidator();

// validate the DOM tree
try {
validator.validate(new DOMSource(document));
} catch (SAXException e) {
// instance document is invalid!
}

❷ Java中用string拼接成xml

不建议对string拼接xml串容易出错,java 有很多bean转xml的工具,这样容易很多,也不容易出错,JAXB 是不错的选择,j2ee中自带了,或者从搜索引擎中找 ,代码参考,一个TRequest 类,他有几个属性 name,id等等
@XmlRootElement(name = "TRequest")
@XmlAccessorType(XmlAccessType.FIELD)
public class TRequest implements java.io.Serializable{

@XmlElement(name="name")
private String name;
@XmlElement(name="id")
private String id;
public String getName() {
return name;
}
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
}

TRequest t= new TRequest();
t.setName("ddddddd");
t.setId("11");
StringWriter writer = new StringWriter();
JAXBContext context = JAXBContext.newInstance(t.getClass());
Marshaller marshaller = context.createMarshaller();
// marshaller.setProperty("com.sun.xml.bind.xmlDeclaration", Boolean.FALSE);
marshaller.marshal(t, writer);
String res=writer.toString();
writer.close();

❸ Java 如何解析由String类型拼接的XML格式

需要使用dom4j这样的jar包,自己解析的话必须按标签对来解析,简单的话可以使用正则匹配来解析
比如 先获取weighData之间的内容,然后再把这之间的内容 两个weighTime标签之间的内容取出来,2个cardNum标签内容,2个cfid之间的内容,这样优点类似于dom解析

❹ java解析xml格式的String字符串,不是xml文件

这是类型转换异常报的错,你在类型转换的时候有问题

❺ java如何把String转换成xml

导入dom4j这个包,然后使用这个包里面的东西 进行解析与封装

❻ 如何用java生成一个xml文件

一个XML文档,可以先构造一个DOM,然后将DOM转化为xml序列,输出或者生成文件。package test;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class Test {

public static void generate(){
try {

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.newDocument();
document.setXmlVersion("1.0");
document.setXmlStandalone(true);

Element root = document.createElement_x("MobileNet"); //创建根节点
document.appendChild(root); //将根节点添加到Document对象中

Element pageElement = document.createElement_x("page"); //设置第一个page元素到
pageElement.setAttribute("name", "list.jsp"); //设置page节点的name属性

Element methodElement = document.createElement_x("method"); //设置method节点
methodElement.setTextContent("get"); //给method设置值
pageElement.appendChild(methodElement); //添加method节点到page节点内

Element displayElement = document.createElement_x("display"); //设置method节点
displayElement.setTextContent("list撒旦发放"); //给display设置值
pageElement.appendChild(displayElement); //添加display节点到page节点内

Element request_paramElement = document.createElement_x("request_param");
request_paramElement.setTextContent("request_param1|request_param2");
pageElement.appendChild(request_paramElement);

root.appendChild(pageElement);
pageElement = document.createElement_x("page"); //设置第二个page元素到
pageElement.setAttribute("name", "content.jsp"); //设置page节点的name属性

methodElement = document.createElement_x("method");
methodElement.setTextContent("post");

pageElement.appendChild(methodElement);
displayElement = document.createElement_x("display");
displayElement.setTextContent("content");

pageElement.appendChild(displayElement);

Element url_titleElement = document.createElement_x("url_title"); //设置url_title节点
url_titleElement.setTextContent("title,publisher,published_calendar"); //给url_title设置值
pageElement.appendChild(url_titleElement); //添加url_title节点到page节点内

root.appendChild(pageElement); //将page段加人根节点内

TransformerFactory transFactory = TransformerFactory.newInstance(); //开始把Document映射到文件
Transformer transFormer = transFactory.newTransformer();

DOMSource domSource = new DOMSource(document); //设置输出结果

File file = new File("MobileNetRule.xml"); //生成xml文件

if (!file.exists()) {
file.createNewFile();
}

FileOutputStream out = new FileOutputStream(file); //文件输出流
StreamResult xmlResult = new StreamResult(out); //设置输入源

transFormer.transform(domSource, xmlResult); //输出xml文件
System.out.println(file.getAbsolutePath()); //测试文件输出的路径

TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
t.setOutputProperty("{/encoding/}","GB2312/");
ByteArrayOutputStream boc = new ByteArrayOutputStream();
t.transform(new DOMSource(document), new StreamResult(boc));
String xmlstring = boc.toString();
System.out.println(xmlstring);

} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args){
Test.generate();

}
}

❼ java中已经获得xml文件中的内容(是String 字符),如何解析

import java.io.IOException;
import java.io.StringReader;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;

public class DuXMLDoc {
public List xmlElements(String xmlDoc) {
//创建一个新的字符串
StringReader read = new StringReader(xmlDoc);
//创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
InputSource source = new InputSource(read);
//创建一个新的SAXBuilder
SAXBuilder sb = new SAXBuilder();

try {
//通过输入源构造一个Document
Document doc = sb.build(source);
//取的根元素
Element root = doc.getRootElement();
System.out.println("tasktypename:"+root.getAttributeValue("tasktypename"));
System.out.println("perfrenceNum:"+root.getAttributeValue("perfrenceNum"));
System.out.println(root.getName());//输出根元素的名称(测试)
//得到根元素所有子元素的集合
List jiedian = root.getChildren();

Element et = null;
for(int i=0;i<jiedian.size();i++){
et = (Element) jiedian.get(i);//循环依次得到子元素

if(et.getAttributeValue("inputindex").equals("1")){
et.setAttribute("name","1");
}
et.setAttribute("age","15");
System.out.println("name:"+et.getAttributeValue("name"));
System.out.println("value:"+et.getAttributeValue("value"));
System.out.println("inputindex:"+et.getAttributeValue("inputindex"));
System.out.println("perfrence:"+et.getAttributeValue("perfrence"));
System.out.println("age:"+et.getAttributeValue("age"));
}
// /**//*
// * 如要取<row>下的子元素的名称
// */
// et = (Element) jiedian.get(0);
// List zjiedian = et.getChildren();
// for(int j=0;j<zjiedian.size();j++){
// Element xet = (Element) zjiedian.get(j);
// System.out.println(xet.getName());
// }
} catch (JDOMException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return null;
}
public static void main(String[] args){
DuXMLDoc doc = new DuXMLDoc();
String xml = "<?xml version=/"1.0/" encoding=/"UTF-8/"?>"+
"<submittask tasktypename=/"kind1/" perfrenceNum=/"2/">"+
"<input name=/"name/" value=/"123/" inputindex=/"1/" perfrence=/"2/"/>"+
"<input name=/"sex/" value=/"F/" inputindex=/"2/" perfrence=/"2/"/>"+
"</submittask>"
;
System.out.println(xml);
doc.xmlElements(xml);
}
}

❽ Android Java代码调用 String.xml---高手进、急求答案

.在Activity中getString(R.string.resource_name);
或者getResources().getString(R.string.resource_name);
其他地方
用context上下文context.getString(R.string.resource_name);
context可以从调用的地方获得,或者 getApplicationContext 用全局的context
或者用
application.getString(R.string.resource_name);

❾ 如何在java代码中获取string.xml中的字符串

获取string.xml文件里面的值有几个不同的地方。

1.在AndroidManifest.xml与layout等xml文件里:

android:text="@string/resource_name"

2.在activity里:

方法一:this.getString(R.string.resource_name);

方法二:getResources().getString(R.string.resource_name);

3.在其他java文件(必须有Context或pplication)

方法一:
context.getString(R.string.resource_name);
方法二: application.getString(R.string.resource_name);

热点内容
数据库中已存在 发布:2025-01-20 15:35:44 浏览:109
压缩超过密度 发布:2025-01-20 15:35:33 浏览:647
和她在一起的日历怎么弄安卓 发布:2025-01-20 15:29:29 浏览:639
android6华为 发布:2025-01-20 15:28:06 浏览:692
荔枝fm怎么上传录音 发布:2025-01-20 15:22:27 浏览:107
马3智雅版有哪些配置 发布:2025-01-20 15:03:06 浏览:362
离心机编程 发布:2025-01-20 15:02:24 浏览:945
按键的汇编程序程序 发布:2025-01-20 15:01:04 浏览:555
linux有哪些系统 发布:2025-01-20 14:53:38 浏览:90
android显示当前时间 发布:2025-01-20 14:53:29 浏览:968