📄 xml.java
字号:
/**
* 取XMLType属性,使用前必须先连接,使用完毕后关闭连接
* @param field String 要查找的字段
* @param table String 要查找的表
* @param str String[] 要查找的字段属性,层数必须相同
* @param i int 第几个元素的值,i=0表示取所有元素
* @param seq String 主关键值的值 ,例:seq=63920
* @return String[][] 返回String[][str.length]
* @throws Exception
*/
public String[][] getXMLTag(String field,String table,String str[],int i,String seq) throws Exception
{
String[][] result=null;
try
{
String sql="select t."+field+" from "+table+" t where "+seq;
NodeList n1=null;
OracleResultSet rst=(OracleResultSet)query_stmt.executeQuery(sql);
while(rst.next())
{
XMLType pxml=XMLType.createXML(rst.getOPAQUE(1));
DOMParser parser=new DOMParser();
parser.setPreserveWhitespace(true);
parser.parse(new StringReader(pxml.getStringVal()));
XMLDocument doc=parser.getDocument();
for(int j=0;j<str.length;j++)
{
//查找节点数据
n1 = doc.getElementsByTagName(str[j]);
if(i>0)
{
if(result==null)
result=new String[1][str.length];
result[0][j]=n1.item(i-1).getFirstChild().getNodeValue().trim();
}
else
{
if(result==null)
result=new String[n1.getLength()][str.length];
for (int k = 0; k < n1.getLength(); k++)
{
result[k][j]=n1.item(k).getFirstChild().getNodeValue().trim();
}
}
}
}
}
catch (Exception e)
{
throw e;
}
finally
{
return result;
}
}
/**
* 取XMLType属性,使用前必须先连接,使用完毕后关闭连接
* @param field String 要查找的字段
* @param table String 要查找的表
* @param str String[] 要查找的字段属性
* @param seq String 主关键值的值 ,例:seq=63920
* @return Vector 返回vector长度为str.length,内容为String[]
* @throws Exception
*/
public Vector getXMLTag(String field,String table,String str[],String seq) throws Exception
{
Vector v=new Vector(str.length);
try
{
String sql="select t."+field+" from "+table+" t where "+seq;
NodeList n1=null;
OracleResultSet rst=(OracleResultSet)query_stmt.executeQuery(sql);
while(rst.next())
{
XMLType pxml=XMLType.createXML(rst.getOPAQUE(1));
DOMParser parser=new DOMParser();
parser.setPreserveWhitespace(true);
// pxml.getBytesValue()
// parser.parse(new StringReader(pxml.getStringVal()));
sql="<?xml version=\"1.0\" encoding=\"gb2312\"?>"+pxml.getStringVal();
parser.parse(new StringReader(sql));
XMLDocument doc=parser.getDocument();
for(int j=0;j<str.length;j++)
{
//查找节点数据
n1 = doc.getElementsByTagName(str[j]);
try
{
String[] result = new String[n1.getLength()];
for (int k = 0; k < n1.getLength(); k++) {
result[k] = n1.item(k).getFirstChild().getNodeValue().trim();
}
v.add(result);
}
catch(Exception e2)
{
v.add(new String[0]);
}
}
}
}
catch (Exception e)
{
throw e;
}
finally
{
return v;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -