San*_*til 3 java xml url amazon-s3
我正在尝试将 xml 数据保存在 AWS S3 上的 .xml 文件中。所以我在字符串中构建 xml 并传递给 aws。文件已写入,但 xml 数据有一些 url,它显示Xml Parsing Error: Not Well formed在该 url 上。
请看以下图片。
它给了我错误 new =但第二个不是第一个。如果我对 url 进行编码,那么它就可以工作,但我不想对 url 进行编码,因为我需要在每个地方都进行解码。
这是我的代码。
// create header for graphml
String str = "<graphml xmlns=\"http://graphml.graphdrawing.org/xmlns\""
+ " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
+ " xsi:schemaLocation=\"http://graphml.graphdrawing.org/xmlns"
+ " http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd\">"
+ "<key id=\"n\" for=\"node\" attr.name=\"name\" attr.type=\"string\"/>"
+ "<graph id=\"G\" edgedefault=\"directed\">";
StringBuilder sb = new StringBuilder();
sb.append(str);
Iterable<Node> vertices;
vertices = Node_list;
// Write all nodes
for (Node vertex : vertices) {
sb.append("<node id=" + "\"" + vertex.getId().toString() + "\""
+ ">");
sb.append("<data key=\"n\">" + vertex.getName() + "</data>");
// end node tag
sb.append("</node>");
}
// closing graph tag and graphml tag
sb.append("</graph>");
sb.append("</graphml>");
// converting string in to inputstream
InputStream stream = new ByteArrayInputStream(sb.toString()
.getBytes("UTF-8"));
// creating meta data graphml file
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType("text/xml");
metadata.setContentLength(sb.toString().getBytes().length);
// send request to S3 to create folder
PutObjectRequest putobjreq = new PutObjectRequest(
CAWSConstants.BUCKETNAME, file, stream, metadata);
// put graphml file to aws
s3Client.putObject(putobjreq);
Run Code Online (Sandbox Code Playgroud)
你能给我任何参考或提示吗?Xml 应该在没有编码/解码的情况下正确写入。
| 归档时间: |
|
| 查看次数: |
1000 次 |
| 最近记录: |