Как использовать значение элемента XML при установке пути в библиотеке Java SimpleXML?

У меня есть следующий XML:

<rdr>
  <details>
    <detail>
        <name>version</name>
        <value>15.0</value>
    </detail>
    <detail>
        <name>resolution</name>
        <value>1080X1920</value>
    </detail>
  </details>
</rdr>

и я делаю это в следующем Java-бине:

import org.simpleframework.xml.Element;
import org.simpleframework.xml.Path;
import org.simpleframework.xml.Root;

@Root(name = "rdr", strict = false)
public class XmlBean {

@Path("details/detail[1]")
@Element(name = "value")
private String version;

@Path("details/detail[2]")
@Element(name = "value")
private String resolution;

public String getVersion() {
    return version;
}

public void setVersion(String version) {
    this.version = version;
}

public String getResolution() {
    return resolution;
}

public void setResolution(String resolution) {
    this.resolution = resolution;
}

}

Я использую простой XML версии 2.6.6 для достижения этой цели:http://simple.sourceforge.net/

Однако, то, что я хотел бы сделать, это использовать элементы name в XPath. Например, вместо использования Path «details / detail [1]» quot; Я хотел бы использовать & quot; details / detail [name = version]. Это не работает, и я получаю org.simpleframework.xml.core.PathException: возвращен неверный индекс для исключения пути. Я пробовал окружающую версию с & apos; но безрезультатно. Из того, что я понимаю в XPath, это правильный синтаксис:http://www.w3schools.com/xpath/xpath_syntax.asp  Кто-нибудь может подтвердить, что это выглядит правильно?

Я изучил исходный код простой библиотеки xml, и он обрабатывает обработку XPath самостоятельно, без использования сторонней библиотеки. Я могу понять, почему он не работает, потому что он принимает только цифры и будет выбрасывать это исключение для любого символа, который не является цифрой.

У меня возникает соблазн исправить библиотеку, но я подозреваю, что я делаю что-то не так и что может быть другая аннотация, которую я должен использовать, или какой-то другой синтаксис.

Есть ли другая аннотация, которую я могу использовать для достижения того, что я пытаюсь сделать? Можно ли сделать то, что я пытаюсь сделать, используя Simple?

Ответы на вопрос(3)

Ваш ответ на вопрос