我试图让下面的工作,我已经阅读了许多有关这方面的在线帖子,但似乎没有任何工作。
当我在MySQLWorkbench中运行查询字符串时,它可以工作。我使用XPath检索所有ExternalId并将它们存储到一个列表中。
String getExternalIds = "/FundShareClass/Fund/PortfolioList/Portfolio/Holding/HoldingDetail/@_ExternalId";
List<String> externalIdList = new ArrayList<String>();
XPath xPath = XPathFactory.newInstance().newXPath();
NodeList nodeList = (NodeList) xPath.compile(getExternalIds).evaluate(doc, XPathConstants.NODESET);
for (int i = 0; i < nodeList.getLength(); i++)
{
externalIdList.add(nodeList.item(i).getFirstChild().getNodeValue() + '\n');
}
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/TestDb";
String user = "root";
String pass = "";
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = (Connection) DriverManager.getConnection(url, user, pass);
System.out.print("Connection Made to Mysql Database");
for(String externalId : externalIdList)
{
try
{
String currentId = externalId;
String query = "SELECT * FROM StructuredMappings WHERE managerCode=?";
PreparedStatement ps = conn.prepareStatement(query);
ps.setString(1, externalId);
ResultSet rs = ps.executeQuery();
Boolean response = rs.next();
System.out.println(response);
while(rs.next())
{
System.out.println("MAPPING CODE FOUND");
String ISIN = rs.getString("ISIN");
String idType = rs.getString("type");
System.out.println(ISIN +" , " +idType);
}布尔响应输出所有有效id的False。
发布于 2015-07-29 05:47:58
在填充externalIdList时,可以向每个id添加一个'\n'。
我不知道你的身份证,但我想你应该删除行提要。
for (int i = 0; i < nodeList.getLength(); i++)
externalIdList.add(nodeList.item(i).getFirstChild().getNodeValue());https://stackoverflow.com/questions/31688958
复制相似问题