是否可以使用 SimpleXML 處理節點屬性和值?例如在標簽“來自”中:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from name="test">Jani</from>
<heading>Reminder</heading>
<body>Dont forget me this weekend!</body>
</note>
我找不到解決代碼中節點內容的方法。我的這個 XML 的示例代碼是:
public class Note
{
@Element(name = "to")
private String to;
@Element(name = "from")
private Sender from;
@Element(name = "heading")
private String heading;
@Element(name = "body")
private String body;
}
public class Sender
{
private String content;
@Attribute(name = "name")
private String attribute;
}
現在我正在尋找 Sender.content 的注釋,它處理值 note/from/Jani
uj5u.com熱心網友回復:
根據官方檔案,您可以使用注釋@Text:
下面的例子:
向元素添加文本和屬性
從前面的示例中可以看出,使用 Element 注釋對諸如 String 之類的原語進行注釋將導致文本被添加到名稱 XML 元素中。但是,也可以將文本添加到包含屬性的元素。這種類模式的一個例子如下所示。
@Root
public class Entry {
@Attribute
private String name;
@Attribute
private int version;
@Text
private String value;
public int getVersion() {
return version;
}
public String getName() {
return name;
}
public String getValue() {
return value;
}
}
在這里,類以這樣一種方式進行注釋,即一個元素包含兩個名為 version 和 name 的屬性。它還包含一個文本注釋,它指定要添加到生成元素的文本。下面是可以使用指定的類模式生成的示例 XML 檔案。
<entry version='1' name='name'>
Some example text within an element
</entry>
管理 Text 注釋使用的規則是每個模式類只能有一個。此外,此注釋不能與 Element 注釋一起使用。只有 Attribute 注釋可以與它一起使用,因為此注釋不會在擁有元素中添加任何內容。
您的代碼將如下所示:
public class Sender
{
@Text
private String content;
@Attribute(name = "name")
private String attribute;
}
http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/407457.html
標籤:
