如何解决Python:ElementTree 中 NoneType 的解决方法
大家好,
我正在尝试使用以下代码加载带有 ElementTree 的 .xml 文件:
data = []
root = et.fromstring(r.content)
user = root.findall('.//user')
for u in user:
data.append(
{'id': u.get('id'),'firstName': u.find('firstName').text,'lastName': u.find('lastName').text,'personnelNumber': u.find('personnelNumber').text}
)
我知道有几行(可能是六行)“personnelNumber”为空,因此我收到以下错误:
AttributeError: 'NoneType' object has no attribute 'text'
我想问一下是否有人知道解决此问题的方法?老实说,我不在乎缺少的几个条目,所以我只完成其余的!?
感谢您的帮助,祝您周末愉快!
解决方法
您不能无条件地访问可能是 import * as React from "react"
import { Stage,Layer,Rect } from "react-konva"
import type { Stage as StageType } from "konva/types/Stage"
import { observer } from "mobx-react"
import "./styles.css"
import { useStore } from "./context"
const downloadURI = (uri: string | undefined,name: string | undefined) => {
const link = document.createElement("a")
link.download = name as string
link.href = uri as string
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
}
function App() {
const [fillColor,setFillColor] = React.useState("")
const [downloadClicked,setDownloadClicked] = React.useState(false)
const stageRef = React.useRef<StageType>(null)
const transparentBackground = new window.Image()
transparentBackground.src =
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAAABlBMVEUAAADY2NjnFMi2AAAAAXRSTlMAQObYZgAAABVJREFUGNNjYIQDBgQY0oLDxBsIQQCltADJNa/7sQAAAABJRU5ErkJggg=="
const store = useStore()
const { win,canvas,browser,pad } = store
return (
<div className="flex">
<div id="sidebar">
<h1 className="text">
Center <span>papayawhip</span> Canvas
</h1>
<input
type="text"
placeholder="Enter Fill Color"
value={fillColor}
onChange={(e) => setFillColor(e.target.value)}
/>
<button
className="inline-flex items-center px-4 py-2 text-sm font-medium text-white bg-indigo-600 border border-transparent rounded-md shadow-sm hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"
onClick={() => {
setDownloadClicked(true)
const options = { mimeType: `image/png`,quality: 1,pixelRatio: 1 }
const img = stageRef.current?.getStage().toDataURL(options)
downloadURI(img,"download.png")
setDownloadClicked(false)
}}
>
Download Image
</button>
</div>
<Stage
ref={stageRef}
width={canvas.width}
height={canvas.height}
id="konva"
>
<Layer>
{fillColor === "" && downloadClicked && (
<Rect
width={browser.width + 200}
height={browser.height + 200}
x={pad / 2}
y={(win.height - browser.height) / 2}
fillPatternImage={transparentBackground}
fill={fillColor}
/>
)}
<Rect
width={browser.width}
height={browser.height}
x={pad / 2}
y={(win.height - browser.height) / 2}
fill="papayawhip"
/>
</Layer>
</Stage>
</div>
)
}
export default observer(App)
的东西的属性。
当 None
中没有名为 u.find('xyz')
的子节点时,None
的结果将是 xyz
,因此 u
可能会失败。
使用辅助函数。
u.find('xyz').text
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。