Skip to main content

XmlElement

Trait XmlElement 

Source
pub trait XmlElement {
    // Required methods
    fn element_name(&self) -> &'static str;
    fn attributes(&self) -> Vec<(String, String)>;
    fn from_xml(node: &XmlNode) -> Result<Self, XmlElementError>
       where Self: Sized;

    // Provided methods
    fn child_nodes(&self) -> Vec<XmlNode> { ... }
    fn text_content(&self) -> Option<&str> { ... }
    fn to_xml(&self) -> String { ... }
    fn write_xml(&self, out: &mut String) { ... }
}
Expand description

XML 元素 trait(对应 Java: ofdrw OFDElement)。

实现者描述一个 OFD XML 元素:元素名、属性、子元素、文本。 to_xml 手工拼 XML(writer 侧), from_xml 从节点树解析(quick-xml 解析侧)。

Required Methods§

Source

fn element_name(&self) -> &'static str

元素名(如 “TextObject”、“ofd:Page”)。

Source

fn attributes(&self) -> Vec<(String, String)>

XML 属性列表。

Source

fn from_xml(node: &XmlNode) -> Result<Self, XmlElementError>
where Self: Sized,

从节点树解析(对应 ofdrw 解析侧;quick-xml 产物)。

§错误

节点与元素结构不匹配时返回错误。

Provided Methods§

Source

fn child_nodes(&self) -> Vec<XmlNode>

子元素(作为 XmlNode 提供,便于嵌套序列化)。

Source

fn text_content(&self) -> Option<&str>

文本内容(简单文本元素)。

Source

fn to_xml(&self) -> String

手工拼接 XML(对应 ofdrw writer 侧;子元素由 child_nodes 递归)。

Source

fn write_xml(&self, out: &mut String)

将节点树写为 XML 片段(无 XML 声明)。

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl XmlElement for AbbreviatedData

Source§

impl XmlElement for Annot

Source§

impl XmlElement for Appearance

Source§

impl XmlElement for Arc

Source§

impl XmlElement for Area

Source§

impl XmlElement for Attachments

Source§

impl XmlElement for CTAttachment

Source§

impl XmlElement for CTDest

Source§

impl XmlElement for CT_CGTransform

Source§

impl XmlElement for CT_Clip

Source§

impl XmlElement for CT_Color

Source§

impl XmlElement for CT_CommonData

Source§

impl XmlElement for CT_DrawParam

Source§

impl XmlElement for CT_Image

Source§

impl XmlElement for CT_Layer

Source§

impl XmlElement for CT_OutlineElem

Source§

impl XmlElement for CT_PageArea

Source§

impl XmlElement for CT_PageBlock

Source§

impl XmlElement for CT_Path

Source§

impl XmlElement for CT_Region

Source§

impl XmlElement for CT_TemplatePage

Source§

impl XmlElement for CT_Text

Source§

impl XmlElement for Close

Source§

impl XmlElement for CubicBezier

Source§

impl XmlElement for DocBody

Source§

impl XmlElement for Document

Source§

impl XmlElement for Goto

Source§

impl XmlElement for Keywords

Source§

impl XmlElement for Line

Source§

impl XmlElement for Move

Source§

impl XmlElement for OfdMetadata

Source§

impl XmlElement for Outlines

Source§

impl XmlElement for PageBlockImageObject

Source§

impl XmlElement for PageBlockPathObject

Source§

impl XmlElement for PageBlockTextObject

Source§

impl XmlElement for PageEntry

Source§

impl XmlElement for Pages

Source§

impl XmlElement for QuadraticBezier

Source§

impl XmlElement for Res

Source§

impl XmlElement for ST_Array

Source§

impl XmlElement for ST_Box

Source§

impl XmlElement for ST_ID

Source§

impl XmlElement for ST_Loc

Source§

impl XmlElement for ST_Pos

Source§

impl XmlElement for TextCode