pub struct HTMLDocument {
pub roots: Vec<Node>,
}
Expand description
A tree of nodes for an HTML document
There is no reference to the parent node in the Node.
The associated functions find_node_before
and find_node_at
keep a record of all parents of the target node.
To get the parent node of the target node, you can like this:
use html_languageservice::{parser::html_parse, HTMLDataManager};
let html_document = html_parse::parse_html_document("<div><h1>title</h1></div>", "html", &HTMLDataManager::default(), false);
let mut parent_list = vec![];
let node = html_document.find_node_at(9, &mut parent_list);
assert_eq!(node.unwrap().tag, Some("h1".to_string()));
let parent = parent_list.pop();
assert_eq!(parent.unwrap().tag, Some("div".to_string()));
let parent = parent_list.pop();
assert!(parent.is_none());
If ‘parent’ is ‘None’, then its parent node is HTMLDocument.
Fields§
§roots: Vec<Node>
Implementations§
Source§impl HTMLDocument
impl HTMLDocument
Sourcepub fn find_node_before<'a>(
&'a self,
offset: usize,
parent_list: &mut Vec<&'a Node>,
) -> Option<&'a Node>
pub fn find_node_before<'a>( &'a self, offset: usize, parent_list: &mut Vec<&'a Node>, ) -> Option<&'a Node>
Find the node before the node where the given ‘offset’ is located
parent_list
is a list of parent nodes and the previous node is the parent node of the latter node.
If you don’t care about the parent node, you can use &mut vec![]
.
Sourcepub fn find_node_at<'a>(
&'a self,
offset: usize,
parent_list: &mut Vec<&'a Node>,
) -> Option<&'a Node>
pub fn find_node_at<'a>( &'a self, offset: usize, parent_list: &mut Vec<&'a Node>, ) -> Option<&'a Node>
Find the node at the given ‘offset’ location
parent_list
is a list where the previous node is the parent node of the latter node.
If you don’t care about the parent node, you can use &mut vec![]
.
pub fn find_root_at(&self, offset: usize) -> Option<&Node>
Trait Implementations§
Source§impl Clone for HTMLDocument
impl Clone for HTMLDocument
Source§fn clone(&self) -> HTMLDocument
fn clone(&self) -> HTMLDocument
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for HTMLDocument
impl Debug for HTMLDocument
Source§impl PartialEq for HTMLDocument
impl PartialEq for HTMLDocument
impl StructuralPartialEq for HTMLDocument
Auto Trait Implementations§
impl Freeze for HTMLDocument
impl RefUnwindSafe for HTMLDocument
impl Send for HTMLDocument
impl Sync for HTMLDocument
impl Unpin for HTMLDocument
impl UnwindSafe for HTMLDocument
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more