我正在尝试使用转换获取xml文档的根元素的信息列表.我无法弄清楚的是:
如何获取默认命名空间URL?
如何获取每个xmlns前缀及其相关URL的列表?
这是我的xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/example.xsl"?>
<foo:mytag xmlns="http://default.example.com/"
xmlns:foo="http://foo.example.com/"
xmlns:bar="http://bar.example.com">
</foo:mytag>
Run Code Online (Sandbox Code Playgroud)
这是我的xsl文件:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output
doctype-public="-//W3C//DTD XHTML 1.1//EN"
doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
encoding="UTF-8"
indent="yes"
method="xml"
omit-xml-declaration="no"
version="1.0" />
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
default namespace - <b>???</b><br />
full tag name - <b><xsl:value-of select="name(*)"/></b><br />
xmlns for tag - <b><xsl:value-of select="namespace-uri(*)"/></b><br />
tag prefix - <b>???</b><br />
tag name - <b><xsl:value-of select="local-name(*)"/></b><br />
List of xmlns - <br />
????
</body>
</html> …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Ant的功能将压缩文件的内容提取到临时文件夹.显然我在这里犯了一个或多个错误的东西,但它们碰巧是逃避我,因为网络上这类代码的例子似乎很少而且过时了:
//...
public static void extract(File src, File dest){
String path = src.getPath();
String ext = path.substring(path.lastIndexOf('.') + 1).toLowerCase();
Expander expander = null;
if(ext.equals("tar")) {
expander = new Expander("untar","untar");
} else if(ext.equals("jar")) {
expander = new Expander("unzip","unzip");
} else if(ext.equals("zip")) {
expander = new Expander("unzip","unzip");
} else {
// ...
}
expander.setSrc(src);
expander.setDest(dest);
expander.execute();
}
//...
Run Code Online (Sandbox Code Playgroud)
以上内容基于:http://www.jajakarta.org/ant/ant-1.6.1/docs/en/manual/antexternal.html
扩展器类:
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Target;
import org.apache.tools.ant.taskdefs.Expand;
class Expander extends Expand{
public Expander(String taskType, String taskName){
this.setProject(new Project());
this.getProject().init();
this.setOwningTarget(new …Run Code Online (Sandbox Code Playgroud)