我有一个没有命名空间的XML文件,并希望在解析时添加命名空间。我正在使用Apache XMLBeans API来解析XML:
<Parent
xsi:schemaLocation="http://myschema.com/ns/parent"
xmlns="http://myschema.com/ns/parent" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
我正在尝试使用以下代码片段设置命名空间,但不知何故它不起作用,架构未添加到XmlOptions中。
XmlOptions opts = new XmlOptions();
HashMap<String, String> suggestedPrefixes = new HashMap<String, String>();
suggestedPrefixes.put("http://myschema.com/ns/parent", "xmlns");
suggestedPrefixes.put("http://www.w3.org/2001/XMLSchema-instance", "xmlns:xsi");
opts.setUseDefaultNamespace();
opts.setSaveSuggestedPrefixes(suggestedPrefixes);
opts.setUseDefaultNamespace();
opts.setSaveSuggestedPrefixes(suggestedPrefixes);
XmlObject xmlObj = XmlObject.Factory.parse(xml, opts);
不确定这是否是设置架构的正确方法。