Touko
2 years ago|views:114
获取xml对象节点属性,内容
export const getNodeAttributes = (node, keys = []) => {
let obj = {[node.nodeName]:{}}
for (let i of keys) {
obj[node.nodeName][i] = node.attributes.getNamedItem(i).value
}
return obj
}
export const getNodesAttributes = (nodes, obj = {}) => {
if (nodes.length && !obj[nodes[0].nodeName]) {
obj[nodes[0].nodeName] = [];
}
for (let i of nodes) {
if (obj[i.nodeName]) {
let children = {};
if (i.children.length) {
children = getNodesAttributes(i.children, {});
}
let res = Object.values(i.attributes).reduce((a, c) => {
a.push(c.name);
return a;
}, []).reduce((acc, cur) => {
acc[cur] = i.attributes.getNamedItem(cur).value;
return acc;
}, {});
obj[i.nodeName].push(Object.assign(children, res));
} else {
obj[i.nodeName] = [];
}
}
return obj;
};
export const getNodeContent = (node) => {
let obj = {}
obj[node.nodeName] = node.textContent
return obj
}
export const changeToXml = (str) =>{
const parser = new DOMParser();
return parser.parseFromString(str, "text/xml");
}
export const tableScrollToRow = (ref,rowIndex)=>{
const tableRows = ref.value.$el.querySelectorAll(
".el-table__body-wrapper tbody .el-table__row"
);
let scrollTop = 0;
for (let i = 0; i < tableRows.length; i++) {
if (i === rowIndex) {
break;
}
scrollTop += tableRows[i].offsetHeight;
}
ref.value.scrollTo(0, scrollTop);
}tags:
3
1
comments:
Touko 法国
☺️☺️☺️☺️☺️😄😄😄😄
2024-10-30
hanTan 上海市南汇区 电信
😃
2024-11-19
2 replies view more